Running as unit: rb-build-arm64_6-125306.service; invocation ID: 4c60481a274b4b26947b25d70b5d89fd ==================================================================================== Sat Nov 1 05:15:59 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_arm64_6) on jenkins, called using "codethink03-arm64 codethink04-arm64" as arguments. Sat Nov 1 05:15:59 UTC 2025 - actually running "reproducible_build.sh" (md5sum bcb6fe1b50cf4e8eedacd0971a9eb63f) as "/tmp/jenkins-script-r4YDjPAa" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Nov 1 05:15:59 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Nov 1 05:15:59 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-XHrpTZ' Sat Nov 1 05:16:00 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Nov 1 05:16:00 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-65tFGo' ok, let's check if r-cran-s2 is building anywhere yet… ok, r-cran-s2 is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of r-cran-s2 in forky on arm64 on jenkins now. 1st build will be done on codethink03-arm64.debian.net. 2nd build will be done on codethink04-arm64.debian.net. ============================================================================= Sat Nov 1 05:16:03 UTC 2025 I: starting to build r-cran-s2/forky/arm64 on jenkins on '2025-11-01 05:15' Sat Nov 1 05:16:03 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_6/125306/console.log 1761974163 arm64 forky r-cran-s2 Sat Nov 1 05:16:03 UTC 2025 I: Downloading source for forky/r-cran-s2=1.1.9-1 --2025-11-01 05:16:03-- http://deb.debian.org/debian/pool/main/r/r-cran-s2/r-cran-s2_1.1.9-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1527 (1.5K) [text/prs.lines.tag] Saving to: ‘r-cran-s2_1.1.9-1.dsc’ 0K . 100% 178M=0s 2025-11-01 05:16:03 (178 MB/s) - ‘r-cran-s2_1.1.9-1.dsc’ saved [1527/1527] --2025-11-01 05:16:03-- http://deb.debian.org/debian/pool/main/r/r-cran-s2/r-cran-s2_1.1.9-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1527 (1.5K) [text/prs.lines.tag] Saving to: ‘r-cran-s2_1.1.9-1.dsc’ 0K . 100% 178M=0s 2025-11-01 05:16:03 (178 MB/s) - ‘r-cran-s2_1.1.9-1.dsc’ saved [1527/1527] Sat Nov 1 05:16:03 UTC 2025 I: r-cran-s2_1.1.9-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: r-cran-s2 Binary: r-cran-s2 Architecture: any Version: 1.1.9-1 Maintainer: Debian R Packages Maintainers Uploaders: Andreas Tille Homepage: https://cran.r-project.org/package=s2 Standards-Version: 4.7.2 Vcs-Browser: https://salsa.debian.org/r-pkg-team/r-cran-s2 Vcs-Git: https://salsa.debian.org/r-pkg-team/r-cran-s2.git Testsuite: autopkgtest, autopkgtest-pkg-r Testsuite-Triggers: r-cran-bit64, r-cran-testthat, r-cran-vctrs Build-Depends: debhelper-compat (= 13), dh-r, r-base-dev, r-cran-rcpp, r-cran-wk (>= 0.6.0), libssl-dev, libabsl-dev Package-List: r-cran-s2 deb gnu-r optional arch=any Checksums-Sha1: e79400ab1d53c74f32a23b9c6f2099fd1de0f456 2968006 r-cran-s2_1.1.9.orig.tar.gz cb28073f455974fab9362821487da4d3b7abb32c 4336 r-cran-s2_1.1.9-1.debian.tar.xz Checksums-Sha256: 7891a0288e59e8f00ac7e09fde607a0c9d046fe48c5286ef3f983a301d64c81c 2968006 r-cran-s2_1.1.9.orig.tar.gz aafaf71ebaea6fa62919d186fce1758e3f4c6eb0f14d848dcd650319abc17bcb 4336 r-cran-s2_1.1.9-1.debian.tar.xz Files: 09b55c756d9a6acb27e9f3f1bc292b76 2968006 r-cran-s2_1.1.9.orig.tar.gz 517cffcbce49119c9d86a6ea81f67dfd 4336 r-cran-s2_1.1.9-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iIgEARYKADAWIQSglbZu4JAkvuai8HIqJ5BL1yQ+2gUCaP4yZhIcbmlsZXNoQGRl Ymlhbi5vcmcACgkQKieQS9ckPtp42QEAuw82L2msyyfjzKzJn+xUvCX0l/W5qO7P s6k1e2A5U8gA/0XKTT8gDkM+9uFkmSg7BxrdPwiTPaha2Jugke8bLfQB =WhC9 -----END PGP SIGNATURE----- Sat Nov 1 05:16:03 UTC 2025 I: Checking whether the package is not for us Sat Nov 1 05:16:03 UTC 2025 I: Starting 1st build on remote node codethink03-arm64.debian.net. Sat Nov 1 05:16:03 UTC 2025 I: Preparing to do remote build '1' on codethink03-arm64.debian.net. Sat Nov 1 05:16:03 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Nov 1 05:16:03 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-HG1dHa' ==================================================================================== Fri Dec 4 11:39:04 UTC 2026 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink03-arm64, called using "1 r-cran-s2 forky /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV 1.1.9-1" as arguments. Fri Dec 4 11:39:04 UTC 2026 - actually running "reproducible_build.sh" (md5sum bcb6fe1b50cf4e8eedacd0971a9eb63f) as "/tmp/jenkins-script-yeOqzhkd" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Dec 4 11:39:04 UTC 2026 I: Downloading source for forky/r-cran-s2=1.1.9-1 Reading package lists... NOTICE: 'r-cran-s2' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/r-pkg-team/r-cran-s2.git Please use: git clone https://salsa.debian.org/r-pkg-team/r-cran-s2.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 2974 kB of source archives. Get:1 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (dsc) [1527 B] Get:2 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (tar) [2968 kB] Get:3 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (diff) [4336 B] Fetched 2974 kB in 0s (27.4 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'r-cran-s2' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/r-pkg-team/r-cran-s2.git Please use: git clone https://salsa.debian.org/r-pkg-team/r-cran-s2.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 2974 kB of source archives. Get:1 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (dsc) [1527 B] Get:2 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (tar) [2968 kB] Get:3 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (diff) [4336 B] Fetched 2974 kB in 0s (27.4 MB/s) Download complete and in download only mode ============================================================================= Building r-cran-s2 in forky on arm64 on codethink03-arm64 now. Date: Fri Dec 4 11:39:04 GMT 2026 Date UTC: Fri Dec 4 11:39:04 UTC 2026 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Thu Dec 3 23:39:04 -12 2026 I: pbuilder-time-stamp: 1796384344 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [r-cran-s2_1.1.9-1.dsc] I: copying [./r-cran-s2_1.1.9.orig.tar.gz] I: copying [./r-cran-s2_1.1.9-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./r-cran-s2_1.1.9-1.dsc: no acceptable signature found dpkg-source: info: extracting r-cran-s2 in r-cran-s2-1.1.9 dpkg-source: info: unpacking r-cran-s2_1.1.9.orig.tar.gz dpkg-source: info: unpacking r-cran-s2_1.1.9-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying fix-ftbfs-on-32bit.patch dpkg-source: info: applying fix-armel-ftbfs.patch dpkg-source: info: applying warn-on-32bit.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1781640/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='7784f860eafa4d179845a517dd17033e' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='1781640' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_WbH1 --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1 --logfile b1/build.log r-cran-s2_1.1.9-1.dsc' SUDO_GID='109' SUDO_HOME='/var/lib/jenkins' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1781640/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-r, r-base-dev, r-cran-rcpp, r-cran-wk (>= 0.6.0), libssl-dev, libabsl-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19971 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-r; however: Package dh-r is not installed. pbuilder-satisfydepends-dummy depends on r-base-dev; however: Package r-base-dev is not installed. pbuilder-satisfydepends-dummy depends on r-cran-rcpp; however: Package r-cran-rcpp is not installed. pbuilder-satisfydepends-dummy depends on r-cran-wk (>= 0.6.0); however: Package r-cran-wk is not installed. pbuilder-satisfydepends-dummy depends on libssl-dev; however: Package libssl-dev is not installed. pbuilder-satisfydepends-dummy depends on libabsl-dev; however: Package libabsl-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} dctrl-tools{a} debhelper{a} dh-autoreconf{a} dh-r{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} gettext{a} gettext-base{a} gfortran{a} gfortran-15{a} gfortran-15-aarch64-linux-gnu{a} gfortran-aarch64-linux-gnu{a} groff-base{a} icu-devtools{a} intltool-debian{a} libabsl-dev{a} libabsl20240722{a} libalgorithm-c3-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libblas-dev{a} libblas3{a} libbrotli1{a} libbz2-dev{a} libcairo2{a} libclass-c3-perl{a} libclass-load-perl{a} libclass-load-xs-perl{a} libclone-perl{a} libcom-err2{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdata-optlist-perl{a} libdatrie1{a} libdebhelper-perl{a} libdeflate-dev{a} libdeflate0{a} libdevel-callchecker-perl{a} libdevel-globaldestruction-perl{a} libdevel-overloadinfo-perl{a} libdevel-stacktrace-perl{a} libdist-checkconflicts-perl{a} libdynaloader-functions-perl{a} libelf1t64{a} libencode-locale-perl{a} libeval-closure-perl{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgfortran-15-dev{a} libgfortran5{a} libglib2.0-0t64{a} libgnutls30t64{a} libgraphite2-3{a} libgssapi-krb5-2{a} libharfbuzz0b{a} libhttp-date-perl{a} libhttp-message-perl{a} libice6{a} libicu-dev{a} libicu76{a} libidn2-0{a} libio-html-perl{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} libldap2{a} liblerc4{a} liblwp-mediatypes-perl{a} liblzma-dev{a} libmagic-mgc{a} libmagic1t64{a} libmodule-implementation-perl{a} libmodule-runtime-conflicts-perl{a} libmodule-runtime-perl{a} libmoose-perl{a} libmro-compat-perl{a} libnamespace-clean-perl{a} libncurses-dev{a} libncurses6{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libngtcp2-crypto-ossl0{a} libp11-kit0{a} libpackage-deprecationmanager-perl{a} libpackage-stash-perl{a} libpackage-stash-xs-perl{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpaper-utils{a} libpaper2{a} libparams-classify-perl{a} libparams-util-perl{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpixman-1-0{a} libpkgconf3{a} libpng-dev{a} libpng16-16t64{a} libproc2-0{a} libpsl5t64{a} libreadline-dev{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libsharpyuv0{a} libsm6{a} libssh2-1t64{a} libssl-dev{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libswitch-perl{a} libtasn1-6{a} libtcl8.6{a} libtext-charwidth-perl{a} libtext-wrapi18n-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtimedate-perl{a} libtirpc-common{a} libtirpc-dev{a} libtirpc3t64{a} libtk8.6{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libunistring5{a} liburi-perl{a} libvariable-magic-perl{a} libwebp7{a} libwww-curl-perl{a} libwww-curl-simple-perl{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb-render0{a} libxcb-shm0{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxft2{a} libxml2-16{a} libxmuu1{a} libxrender1{a} libxss1{a} libxt6t64{a} libzstd-dev{a} littler{a} m4{a} man-db{a} openssl{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} procps{a} r-base-core{a} r-base-dev{a} r-cran-littler{a} r-cran-pkgkitten{a} r-cran-rcpp{a} r-cran-wk{a} readline-common{a} sensible-utils{a} tzdata{a} ucf{a} unzip{a} x11-common{a} xauth{a} xdg-utils{a} zip{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: bzip2-doc cme curl devscripts git-buildpackage krb5-locales libarchive-cpio-perl libclass-c3-xs-perl libdevel-lexalias-perl libdevel-partialdump-perl libfile-mimeinfo-perl libglib2.0-data libgmock-dev libgpm2 libio-compress-brotli-perl libldap-common libltdl-dev libmail-sendmail-perl libnet-dbus-perl libpng-tools libsasl2-modules libx11-protocol-perl linux-sysctl-defaults lynx psmisc publicsuffix r-cran-readr r-cran-sf r-cran-testthat r-cran-tibble r-cran-vctrs r-doc-html r-recommended shared-mime-info wget x11-utils x11-xserver-utils xdg-user-dirs 0 packages upgraded, 205 newly installed, 0 to remove and 0 not upgraded. Need to get 113 MB of archives. After unpacking 380 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main arm64 libexpat1 arm64 2.7.3-1 [96.5 kB] Get: 2 http://deb.debian.org/debian forky/main arm64 tzdata all 2025b-5 [260 kB] Get: 3 http://deb.debian.org/debian forky/main arm64 libproc2-0 arm64 2:4.0.4-9 [62.8 kB] Get: 4 http://deb.debian.org/debian forky/main arm64 procps arm64 2:4.0.4-9 [871 kB] Get: 5 http://deb.debian.org/debian forky/main arm64 readline-common all 8.3-3 [74.8 kB] Get: 6 http://deb.debian.org/debian forky/main arm64 sensible-utils all 0.0.26 [27.0 kB] Get: 7 http://deb.debian.org/debian forky/main arm64 openssl arm64 3.5.4-1 [1457 kB] Get: 8 http://deb.debian.org/debian forky/main arm64 ca-certificates all 20250419 [162 kB] Get: 9 http://deb.debian.org/debian forky/main arm64 libmagic-mgc arm64 1:5.46-5 [338 kB] Get: 10 http://deb.debian.org/debian forky/main arm64 libmagic1t64 arm64 1:5.46-5 [103 kB] Get: 11 http://deb.debian.org/debian forky/main arm64 file arm64 1:5.46-5 [43.7 kB] Get: 12 http://deb.debian.org/debian forky/main arm64 gettext-base arm64 0.23.1-2+b1 [241 kB] Get: 13 http://deb.debian.org/debian forky/main arm64 libuchardet0 arm64 0.0.8-2 [69.0 kB] Get: 14 http://deb.debian.org/debian forky/main arm64 groff-base arm64 1.23.0-9 [1130 kB] Get: 15 http://deb.debian.org/debian forky/main arm64 bsdextrautils arm64 2.41.2-4 [97.3 kB] Get: 16 http://deb.debian.org/debian forky/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 17 http://deb.debian.org/debian forky/main arm64 man-db arm64 2.13.1-1 [1453 kB] Get: 18 http://deb.debian.org/debian forky/main arm64 libtext-charwidth-perl arm64 0.04-11+b4 [9652 B] Get: 19 http://deb.debian.org/debian forky/main arm64 libtext-wrapi18n-perl all 0.06-10 [8808 B] Get: 20 http://deb.debian.org/debian forky/main arm64 ucf all 3.0052 [43.3 kB] Get: 21 http://deb.debian.org/debian forky/main arm64 m4 arm64 1.4.20-2 [315 kB] Get: 22 http://deb.debian.org/debian forky/main arm64 autoconf all 2.72-3.1 [494 kB] Get: 23 http://deb.debian.org/debian forky/main arm64 autotools-dev all 20240727.1 [60.2 kB] Get: 24 http://deb.debian.org/debian forky/main arm64 automake all 1:1.18.1-2 [877 kB] Get: 25 http://deb.debian.org/debian forky/main arm64 autopoint all 0.23.1-2 [770 kB] Get: 26 http://deb.debian.org/debian forky/main arm64 dctrl-tools arm64 2.24-3+b1 [125 kB] Get: 27 http://deb.debian.org/debian forky/main arm64 libdebhelper-perl all 13.28 [92.4 kB] Get: 28 http://deb.debian.org/debian forky/main arm64 libtool all 2.5.4-7 [540 kB] Get: 29 http://deb.debian.org/debian forky/main arm64 dh-autoreconf all 21 [12.2 kB] Get: 30 http://deb.debian.org/debian forky/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 31 http://deb.debian.org/debian forky/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get: 32 http://deb.debian.org/debian forky/main arm64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get: 33 http://deb.debian.org/debian forky/main arm64 libelf1t64 arm64 0.193-3 [189 kB] Get: 34 http://deb.debian.org/debian forky/main arm64 dwz arm64 0.16-2 [100 kB] Get: 35 http://deb.debian.org/debian forky/main arm64 libunistring5 arm64 1.3-2 [453 kB] Get: 36 http://deb.debian.org/debian forky/main arm64 libxml2-16 arm64 2.14.6+dfsg-0.1 [601 kB] Get: 37 http://deb.debian.org/debian forky/main arm64 gettext arm64 0.23.1-2+b1 [1612 kB] Get: 38 http://deb.debian.org/debian forky/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 39 http://deb.debian.org/debian forky/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 40 http://deb.debian.org/debian forky/main arm64 debhelper all 13.28 [941 kB] Get: 41 http://deb.debian.org/debian forky/main arm64 zip arm64 3.0-15 [227 kB] Get: 42 http://deb.debian.org/debian forky/main arm64 unzip arm64 6.0-29 [163 kB] Get: 43 http://deb.debian.org/debian forky/main arm64 libpaper2 arm64 2.2.5-0.3+b2 [16.6 kB] Get: 44 http://deb.debian.org/debian forky/main arm64 libpaper-utils arm64 2.2.5-0.3+b2 [16.4 kB] Get: 45 http://deb.debian.org/debian forky/main arm64 xdg-utils all 1.2.1-2 [75.8 kB] Get: 46 http://deb.debian.org/debian forky/main arm64 libblas3 arm64 3.12.1-7 [135 kB] Get: 47 http://deb.debian.org/debian forky/main arm64 libbrotli1 arm64 1.1.0-2+b7 [308 kB] Get: 48 http://deb.debian.org/debian forky/main arm64 libpng16-16t64 arm64 1.6.50-1 [275 kB] Get: 49 http://deb.debian.org/debian forky/main arm64 libfreetype6 arm64 2.13.3+dfsg-1 [422 kB] Get: 50 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 51 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 52 http://deb.debian.org/debian forky/main arm64 fontconfig-config arm64 2.15.0-2.4 [318 kB] Get: 53 http://deb.debian.org/debian forky/main arm64 libfontconfig1 arm64 2.15.0-2.4 [387 kB] Get: 54 http://deb.debian.org/debian forky/main arm64 libpixman-1-0 arm64 0.46.4-1 [174 kB] Get: 55 http://deb.debian.org/debian forky/main arm64 libxau6 arm64 1:1.0.11-1 [20.6 kB] Get: 56 http://deb.debian.org/debian forky/main arm64 libxdmcp6 arm64 1:1.1.5-1 [27.8 kB] Get: 57 http://deb.debian.org/debian forky/main arm64 libxcb1 arm64 1.17.0-2+b1 [143 kB] Get: 58 http://deb.debian.org/debian forky/main arm64 libx11-data all 2:1.8.12-1 [343 kB] Get: 59 http://deb.debian.org/debian forky/main arm64 libx11-6 arm64 2:1.8.12-1 [795 kB] Get: 60 http://deb.debian.org/debian forky/main arm64 libxcb-render0 arm64 1.17.0-2+b1 [115 kB] Get: 61 http://deb.debian.org/debian forky/main arm64 libxcb-shm0 arm64 1.17.0-2+b1 [105 kB] Get: 62 http://deb.debian.org/debian forky/main arm64 libxext6 arm64 2:1.3.4-1+b3 [49.2 kB] Get: 63 http://deb.debian.org/debian forky/main arm64 libxrender1 arm64 1:0.9.12-1 [27.0 kB] Get: 64 http://deb.debian.org/debian forky/main arm64 libcairo2 arm64 1.18.4-1+b1 [483 kB] Get: 65 http://deb.debian.org/debian forky/main arm64 libnghttp3-9 arm64 1.12.0-1 [63.6 kB] Get: 66 http://deb.debian.org/debian forky/main arm64 libngtcp2-16 arm64 1.16.0-1 [123 kB] Get: 67 http://deb.debian.org/debian forky/main arm64 libkrb5support0 arm64 1.21.3-5 [32.4 kB] Get: 68 http://deb.debian.org/debian forky/main arm64 libcom-err2 arm64 1.47.2-3+b3 [24.9 kB] Get: 69 http://deb.debian.org/debian forky/main arm64 libk5crypto3 arm64 1.21.3-5 [81.2 kB] Get: 70 http://deb.debian.org/debian forky/main arm64 libkeyutils1 arm64 1.6.3-6 [9716 B] Get: 71 http://deb.debian.org/debian forky/main arm64 libkrb5-3 arm64 1.21.3-5 [308 kB] Get: 72 http://deb.debian.org/debian forky/main arm64 libgssapi-krb5-2 arm64 1.21.3-5 [127 kB] Get: 73 http://deb.debian.org/debian forky/main arm64 libidn2-0 arm64 2.3.8-4 [108 kB] Get: 74 http://deb.debian.org/debian forky/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-10 [19.8 kB] Get: 75 http://deb.debian.org/debian forky/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-10 [55.0 kB] Get: 76 http://deb.debian.org/debian forky/main arm64 libldap2 arm64 2.6.10+dfsg-1 [179 kB] Get: 77 http://deb.debian.org/debian forky/main arm64 libnghttp2-14 arm64 1.64.0-1.1+b1 [71.7 kB] Get: 78 http://deb.debian.org/debian forky/main arm64 libngtcp2-crypto-ossl0 arm64 1.16.0-1 [25.7 kB] Get: 79 http://deb.debian.org/debian forky/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 80 http://deb.debian.org/debian forky/main arm64 libffi8 arm64 3.5.2-2 [21.5 kB] Get: 81 http://deb.debian.org/debian forky/main arm64 libp11-kit0 arm64 0.25.9-2 [420 kB] Get: 82 http://deb.debian.org/debian forky/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 83 http://deb.debian.org/debian forky/main arm64 libgnutls30t64 arm64 3.8.10-3 [1384 kB] Get: 84 http://deb.debian.org/debian forky/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-3 [56.3 kB] Get: 85 http://deb.debian.org/debian forky/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 86 http://deb.debian.org/debian forky/main arm64 libcurl4t64 arm64 8.17.0~rc3-1 [370 kB] Get: 87 http://deb.debian.org/debian forky/main arm64 libdeflate0 arm64 1.23-2 [42.4 kB] Get: 88 http://deb.debian.org/debian forky/main arm64 libglib2.0-0t64 arm64 2.86.1-1 [1436 kB] Get: 89 http://deb.debian.org/debian forky/main arm64 libicu76 arm64 76.1-4 [9524 kB] Get: 90 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo arm64 1:2.1.5-4 [173 kB] Get: 91 http://deb.debian.org/debian forky/main arm64 libgfortran5 arm64 15.2.0-7 [371 kB] Get: 92 http://deb.debian.org/debian forky/main arm64 liblapack3 arm64 3.12.1-7 [1846 kB] Get: 93 http://deb.debian.org/debian forky/main arm64 fontconfig arm64 2.15.0-2.4 [463 kB] Get: 94 http://deb.debian.org/debian forky/main arm64 libfribidi0 arm64 1.0.16-3 [26.5 kB] Get: 95 http://deb.debian.org/debian forky/main arm64 libgraphite2-3 arm64 1.3.14-11 [70.8 kB] Get: 96 http://deb.debian.org/debian forky/main arm64 libharfbuzz0b arm64 12.1.0-1 [486 kB] Get: 97 http://deb.debian.org/debian forky/main arm64 libthai-data all 0.1.29-2 [168 kB] Get: 98 http://deb.debian.org/debian forky/main arm64 libdatrie1 arm64 0.2.13-4 [37.4 kB] Get: 99 http://deb.debian.org/debian forky/main arm64 libthai0 arm64 0.1.29-2+b1 [48.4 kB] Get: 100 http://deb.debian.org/debian forky/main arm64 libpango-1.0-0 arm64 1.56.3-2 [222 kB] Get: 101 http://deb.debian.org/debian forky/main arm64 libpangoft2-1.0-0 arm64 1.56.3-2 [56.5 kB] Get: 102 http://deb.debian.org/debian forky/main arm64 libpangocairo-1.0-0 arm64 1.56.3-2 [35.3 kB] Get: 103 http://deb.debian.org/debian forky/main arm64 libreadline8t64 arm64 8.3-3 [169 kB] Get: 104 http://deb.debian.org/debian forky/main arm64 libtcl8.6 arm64 8.6.17+dfsg-1 [982 kB] Get: 105 http://deb.debian.org/debian forky/main arm64 libjbig0 arm64 2.1-6.1+b2 [30.4 kB] Get: 106 http://deb.debian.org/debian forky/main arm64 liblerc4 arm64 4.0.0+ds-5 [146 kB] Get: 107 http://deb.debian.org/debian forky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [114 kB] Get: 108 http://deb.debian.org/debian forky/main arm64 libwebp7 arm64 1.5.0-0.1 [271 kB] Get: 109 http://deb.debian.org/debian forky/main arm64 libtiff6 arm64 4.7.1-1 [334 kB] Get: 110 http://deb.debian.org/debian forky/main arm64 libtirpc-common all 1.3.6+ds-1 [11.0 kB] Get: 111 http://deb.debian.org/debian forky/main arm64 libtirpc3t64 arm64 1.3.6+ds-1 [79.1 kB] Get: 112 http://deb.debian.org/debian forky/main arm64 libxft2 arm64 2.3.6-1+b4 [51.6 kB] Get: 113 http://deb.debian.org/debian forky/main arm64 x11-common all 1:7.7+26 [217 kB] Get: 114 http://deb.debian.org/debian forky/main arm64 libxss1 arm64 1:1.2.3-1+b3 [17.1 kB] Get: 115 http://deb.debian.org/debian forky/main arm64 libtk8.6 arm64 8.6.17-1 [740 kB] Get: 116 http://deb.debian.org/debian forky/main arm64 libice6 arm64 2:1.1.1-1 [62.1 kB] Get: 117 http://deb.debian.org/debian forky/main arm64 libsm6 arm64 2:1.2.6-1 [36.4 kB] Get: 118 http://deb.debian.org/debian forky/main arm64 libxt6t64 arm64 1:1.2.1-1.3 [182 kB] Get: 119 http://deb.debian.org/debian forky/main arm64 r-base-core arm64 4.5.1-1 [28.4 MB] Get: 120 http://deb.debian.org/debian forky/main arm64 libgfortran-15-dev arm64 15.2.0-7 [411 kB] Get: 121 http://deb.debian.org/debian forky/main arm64 gfortran-15-aarch64-linux-gnu arm64 15.2.0-7 [10.8 MB] Get: 122 http://deb.debian.org/debian forky/main arm64 gfortran-15 arm64 15.2.0-7 [18.0 kB] Get: 123 http://deb.debian.org/debian forky/main arm64 gfortran-aarch64-linux-gnu arm64 4:15.2.0-4 [1280 B] Get: 124 http://deb.debian.org/debian forky/main arm64 gfortran arm64 4:15.2.0-4 [1428 B] Get: 125 http://deb.debian.org/debian forky/main arm64 libblas-dev arm64 3.12.1-7 [145 kB] Get: 126 http://deb.debian.org/debian forky/main arm64 liblapack-dev arm64 3.12.1-7 [3829 kB] Get: 127 http://deb.debian.org/debian forky/main arm64 libncurses6 arm64 6.5+20250216-2 [96.1 kB] Get: 128 http://deb.debian.org/debian forky/main arm64 libncurses-dev arm64 6.5+20250216-2 [340 kB] Get: 129 http://deb.debian.org/debian forky/main arm64 libreadline-dev arm64 8.3-3 [163 kB] Get: 130 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo-dev arm64 1:2.1.5-4 [293 kB] Get: 131 http://deb.debian.org/debian forky/main arm64 libjpeg-dev arm64 1:2.1.5-4 [72.2 kB] Get: 132 http://deb.debian.org/debian forky/main arm64 libpcre2-16-0 arm64 10.46-1 [247 kB] Get: 133 http://deb.debian.org/debian forky/main arm64 libpcre2-32-0 arm64 10.46-1 [238 kB] Get: 134 http://deb.debian.org/debian forky/main arm64 libpcre2-posix3 arm64 10.46-1 [64.1 kB] Get: 135 http://deb.debian.org/debian forky/main arm64 libpcre2-dev arm64 10.46-1 [750 kB] Get: 136 http://deb.debian.org/debian forky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Get: 137 http://deb.debian.org/debian forky/main arm64 libpng-dev arm64 1.6.50-1 [361 kB] Get: 138 http://deb.debian.org/debian forky/main arm64 libbz2-dev arm64 1.0.8-6 [31.9 kB] Get: 139 http://deb.debian.org/debian forky/main arm64 liblzma-dev arm64 5.8.1-2 [344 kB] Get: 140 http://deb.debian.org/debian forky/main arm64 icu-devtools arm64 76.1-4 [200 kB] Get: 141 http://deb.debian.org/debian forky/main arm64 libicu-dev arm64 76.1-4 [10.6 MB] Get: 142 http://deb.debian.org/debian forky/main arm64 libxmuu1 arm64 2:1.1.3-3+b4 [22.0 kB] Get: 143 http://deb.debian.org/debian forky/main arm64 xauth arm64 1:1.1.2-1.1 [35.4 kB] Get: 144 http://deb.debian.org/debian forky/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 145 http://deb.debian.org/debian forky/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 146 http://deb.debian.org/debian forky/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 147 http://deb.debian.org/debian forky/main arm64 libtirpc-dev arm64 1.3.6+ds-1 [192 kB] Get: 148 http://deb.debian.org/debian forky/main arm64 libdeflate-dev arm64 1.23-2 [51.3 kB] Get: 149 http://deb.debian.org/debian forky/main arm64 libzstd-dev arm64 1.5.7+dfsg-2 [330 kB] Get: 150 http://deb.debian.org/debian forky/main arm64 r-base-dev all 4.5.1-1 [4360 B] Get: 151 http://deb.debian.org/debian forky/main arm64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 152 http://deb.debian.org/debian forky/main arm64 libswitch-perl all 2.17-3 [20.3 kB] Get: 153 http://deb.debian.org/debian forky/main arm64 libclone-perl arm64 0.47-1+b1 [13.7 kB] Get: 154 http://deb.debian.org/debian forky/main arm64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 155 http://deb.debian.org/debian forky/main arm64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 156 http://deb.debian.org/debian forky/main arm64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 157 http://deb.debian.org/debian forky/main arm64 libio-html-perl all 1.004-3 [16.2 kB] Get: 158 http://deb.debian.org/debian forky/main arm64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 159 http://deb.debian.org/debian forky/main arm64 liburi-perl all 5.30-1 [105 kB] Get: 160 http://deb.debian.org/debian forky/main arm64 libhttp-message-perl all 7.01-1 [80.0 kB] Get: 161 http://deb.debian.org/debian forky/main arm64 libparams-util-perl arm64 1.102-3+b1 [23.7 kB] Get: 162 http://deb.debian.org/debian forky/main arm64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 163 http://deb.debian.org/debian forky/main arm64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 164 http://deb.debian.org/debian forky/main arm64 libb-hooks-op-check-perl arm64 0.22-3+b2 [10.6 kB] Get: 165 http://deb.debian.org/debian forky/main arm64 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Get: 166 http://deb.debian.org/debian forky/main arm64 libdevel-callchecker-perl arm64 0.009-2 [15.7 kB] Get: 167 http://deb.debian.org/debian forky/main arm64 libparams-classify-perl arm64 0.015-2+b4 [22.3 kB] Get: 168 http://deb.debian.org/debian forky/main arm64 libmodule-runtime-perl all 0.018-1 [17.8 kB] Get: 169 http://deb.debian.org/debian forky/main arm64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 170 http://deb.debian.org/debian forky/main arm64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 171 http://deb.debian.org/debian forky/main arm64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 172 http://deb.debian.org/debian forky/main arm64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 173 http://deb.debian.org/debian forky/main arm64 libclass-load-xs-perl arm64 0.10-2+b4 [14.3 kB] Get: 174 http://deb.debian.org/debian forky/main arm64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 175 http://deb.debian.org/debian forky/main arm64 libdevel-globaldestruction-perl all 0.14-4 [7144 B] Get: 176 http://deb.debian.org/debian forky/main arm64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 177 http://deb.debian.org/debian forky/main arm64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 178 http://deb.debian.org/debian forky/main arm64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 179 http://deb.debian.org/debian forky/main arm64 libdevel-overloadinfo-perl all 0.008-1 [7748 B] Get: 180 http://deb.debian.org/debian forky/main arm64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get: 181 http://deb.debian.org/debian forky/main arm64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 182 http://deb.debian.org/debian forky/main arm64 libeval-closure-perl all 0.14-3 [11.2 kB] Get: 183 http://deb.debian.org/debian forky/main arm64 libdist-checkconflicts-perl all 0.11-2 [10.5 kB] Get: 184 http://deb.debian.org/debian forky/main arm64 libmodule-runtime-conflicts-perl all 0.003-2 [7356 B] Get: 185 http://deb.debian.org/debian forky/main arm64 libpackage-deprecationmanager-perl all 0.18-1 [17.6 kB] Get: 186 http://deb.debian.org/debian forky/main arm64 libpackage-stash-xs-perl arm64 0.30-1+b4 [19.0 kB] Get: 187 http://deb.debian.org/debian forky/main arm64 libmoose-perl arm64 2.4000-1 [766 kB] Get: 188 http://deb.debian.org/debian forky/main arm64 libvariable-magic-perl arm64 0.64-1+b1 [43.9 kB] Get: 189 http://deb.debian.org/debian forky/main arm64 libb-hooks-endofscope-perl all 0.28-2 [17.6 kB] Get: 190 http://deb.debian.org/debian forky/main arm64 libsub-identify-perl arm64 0.14-3+b3 [11.2 kB] Get: 191 http://deb.debian.org/debian forky/main arm64 libsub-name-perl arm64 0.28-1 [12.1 kB] Get: 192 http://deb.debian.org/debian forky/main arm64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 193 http://deb.debian.org/debian forky/main arm64 libngtcp2-crypto-gnutls8 arm64 1.16.0-1 [23.8 kB] Get: 194 http://deb.debian.org/debian forky/main arm64 libcurl3t64-gnutls arm64 8.17.0~rc3-1 [362 kB] Get: 195 http://deb.debian.org/debian forky/main arm64 libwww-curl-perl arm64 4.17-12 [57.7 kB] Get: 196 http://deb.debian.org/debian forky/main arm64 libwww-curl-simple-perl all 0.100191-3 [12.6 kB] Get: 197 http://deb.debian.org/debian forky/main arm64 dh-r all 20250812 [42.6 kB] Get: 198 http://deb.debian.org/debian forky/main arm64 libabsl20240722 arm64 20240722.0-4 [452 kB] Get: 199 http://deb.debian.org/debian forky/main arm64 libabsl-dev arm64 20240722.0-4 [1223 kB] Get: 200 http://deb.debian.org/debian forky/main arm64 libssl-dev arm64 3.5.4-1 [3377 kB] Get: 201 http://deb.debian.org/debian forky/main arm64 r-cran-littler arm64 0.3.21-2 [92.2 kB] Get: 202 http://deb.debian.org/debian forky/main arm64 littler all 0.3.21-2 [16.9 kB] Get: 203 http://deb.debian.org/debian forky/main arm64 r-cran-pkgkitten all 0.2.4-1 [29.1 kB] Get: 204 http://deb.debian.org/debian forky/main arm64 r-cran-rcpp arm64 1.1.0-1 [2096 kB] Get: 205 http://deb.debian.org/debian forky/main arm64 r-cran-wk arm64 0.9.4-1 [1783 kB] Fetched 113 MB in 1s (137 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19971 files and directories currently installed.) Preparing to unpack .../000-libexpat1_2.7.3-1_arm64.deb ... Unpacking libexpat1:arm64 (2.7.3-1) ... Selecting previously unselected package tzdata. Preparing to unpack .../001-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libproc2-0:arm64. Preparing to unpack .../002-libproc2-0_2%3a4.0.4-9_arm64.deb ... Unpacking libproc2-0:arm64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../003-procps_2%3a4.0.4-9_arm64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package readline-common. Preparing to unpack .../004-readline-common_8.3-3_all.deb ... Unpacking readline-common (8.3-3) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../005-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../006-openssl_3.5.4-1_arm64.deb ... Unpacking openssl (3.5.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../007-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../008-libmagic-mgc_1%3a5.46-5_arm64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../009-libmagic1t64_1%3a5.46-5_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../010-file_1%3a5.46-5_arm64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../011-gettext-base_0.23.1-2+b1_arm64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../012-libuchardet0_0.0.8-2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../013-groff-base_1.23.0-9_arm64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../014-bsdextrautils_2.41.2-4_arm64.deb ... Unpacking bsdextrautils (2.41.2-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../015-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../016-man-db_2.13.1-1_arm64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libtext-charwidth-perl:arm64. Preparing to unpack .../017-libtext-charwidth-perl_0.04-11+b4_arm64.deb ... Unpacking libtext-charwidth-perl:arm64 (0.04-11+b4) ... Selecting previously unselected package libtext-wrapi18n-perl. Preparing to unpack .../018-libtext-wrapi18n-perl_0.06-10_all.deb ... Unpacking libtext-wrapi18n-perl (0.06-10) ... Selecting previously unselected package ucf. Preparing to unpack .../019-ucf_3.0052_all.deb ... Moving old data out of the way Unpacking ucf (3.0052) ... Selecting previously unselected package m4. Preparing to unpack .../020-m4_1.4.20-2_arm64.deb ... Unpacking m4 (1.4.20-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../021-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../022-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../023-automake_1%3a1.18.1-2_all.deb ... Unpacking automake (1:1.18.1-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../024-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package dctrl-tools. Preparing to unpack .../025-dctrl-tools_2.24-3+b1_arm64.deb ... Unpacking dctrl-tools (2.24-3+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../026-libdebhelper-perl_13.28_all.deb ... Unpacking libdebhelper-perl (13.28) ... Selecting previously unselected package libtool. Preparing to unpack .../027-libtool_2.5.4-7_all.deb ... Unpacking libtool (2.5.4-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../028-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../029-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../030-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../031-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../032-libelf1t64_0.193-3_arm64.deb ... Unpacking libelf1t64:arm64 (0.193-3) ... Selecting previously unselected package dwz. Preparing to unpack .../033-dwz_0.16-2_arm64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../034-libunistring5_1.3-2_arm64.deb ... Unpacking libunistring5:arm64 (1.3-2) ... Selecting previously unselected package libxml2-16:arm64. Preparing to unpack .../035-libxml2-16_2.14.6+dfsg-0.1_arm64.deb ... Unpacking libxml2-16:arm64 (2.14.6+dfsg-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../036-gettext_0.23.1-2+b1_arm64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../037-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../038-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../039-debhelper_13.28_all.deb ... Unpacking debhelper (13.28) ... Selecting previously unselected package zip. Preparing to unpack .../040-zip_3.0-15_arm64.deb ... Unpacking zip (3.0-15) ... Selecting previously unselected package unzip. Preparing to unpack .../041-unzip_6.0-29_arm64.deb ... Unpacking unzip (6.0-29) ... Selecting previously unselected package libpaper2:arm64. Preparing to unpack .../042-libpaper2_2.2.5-0.3+b2_arm64.deb ... Unpacking libpaper2:arm64 (2.2.5-0.3+b2) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../043-libpaper-utils_2.2.5-0.3+b2_arm64.deb ... Unpacking libpaper-utils (2.2.5-0.3+b2) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../044-xdg-utils_1.2.1-2_all.deb ... Unpacking xdg-utils (1.2.1-2) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../045-libblas3_3.12.1-7_arm64.deb ... Unpacking libblas3:arm64 (3.12.1-7) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../046-libbrotli1_1.1.0-2+b7_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b7) ... Selecting previously unselected package libpng16-16t64:arm64. Preparing to unpack .../047-libpng16-16t64_1.6.50-1_arm64.deb ... Unpacking libpng16-16t64:arm64 (1.6.50-1) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../048-libfreetype6_2.13.3+dfsg-1_arm64.deb ... Unpacking libfreetype6:arm64 (2.13.3+dfsg-1) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../049-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../050-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../051-fontconfig-config_2.15.0-2.4_arm64.deb ... Unpacking fontconfig-config (2.15.0-2.4) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../052-libfontconfig1_2.15.0-2.4_arm64.deb ... Unpacking libfontconfig1:arm64 (2.15.0-2.4) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../053-libpixman-1-0_0.46.4-1_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.46.4-1) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../054-libxau6_1%3a1.0.11-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../055-libxdmcp6_1%3a1.1.5-1_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../056-libxcb1_1.17.0-2+b1_arm64.deb ... Unpacking libxcb1:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../057-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../058-libx11-6_2%3a1.8.12-1_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.12-1) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../059-libxcb-render0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-render0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../060-libxcb-shm0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../061-libxext6_2%3a1.3.4-1+b3_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../062-libxrender1_1%3a0.9.12-1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.12-1) ... Selecting previously unselected package libcairo2:arm64. Preparing to unpack .../063-libcairo2_1.18.4-1+b1_arm64.deb ... Unpacking libcairo2:arm64 (1.18.4-1+b1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../064-libnghttp3-9_1.12.0-1_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.12.0-1) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../065-libngtcp2-16_1.16.0-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.16.0-1) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../066-libkrb5support0_1.21.3-5_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-5) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../067-libcom-err2_1.47.2-3+b3_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-3+b3) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../068-libk5crypto3_1.21.3-5_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../069-libkeyutils1_1.6.3-6_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../070-libkrb5-3_1.21.3-5_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../071-libgssapi-krb5-2_1.21.3-5_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-5) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../072-libidn2-0_2.3.8-4_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.8-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../073-libsasl2-modules-db_2.1.28+dfsg1-10_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-10) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../074-libsasl2-2_2.1.28+dfsg1-10_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-10) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../075-libldap2_2.6.10+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.10+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../076-libnghttp2-14_1.64.0-1.1+b1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Selecting previously unselected package libngtcp2-crypto-ossl0:arm64. Preparing to unpack .../077-libngtcp2-crypto-ossl0_1.16.0-1_arm64.deb ... Unpacking libngtcp2-crypto-ossl0:arm64 (1.16.0-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../078-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../079-libffi8_3.5.2-2_arm64.deb ... Unpacking libffi8:arm64 (3.5.2-2) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../080-libp11-kit0_0.25.9-2_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.9-2) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../081-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../082-libgnutls30t64_3.8.10-3_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.10-3) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../083-librtmp1_2.4+20151223.gitfa8646d.1-3_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../084-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl4t64:arm64. Preparing to unpack .../085-libcurl4t64_8.17.0~rc3-1_arm64.deb ... Unpacking libcurl4t64:arm64 (8.17.0~rc3-1) ... Selecting previously unselected package libdeflate0:arm64. Preparing to unpack .../086-libdeflate0_1.23-2_arm64.deb ... Unpacking libdeflate0:arm64 (1.23-2) ... Selecting previously unselected package libglib2.0-0t64:arm64. Preparing to unpack .../087-libglib2.0-0t64_2.86.1-1_arm64.deb ... Unpacking libglib2.0-0t64:arm64 (2.86.1-1) ... Selecting previously unselected package libicu76:arm64. Preparing to unpack .../088-libicu76_76.1-4_arm64.deb ... Unpacking libicu76:arm64 (76.1-4) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../089-libjpeg62-turbo_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:2.1.5-4) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../090-libgfortran5_15.2.0-7_arm64.deb ... Unpacking libgfortran5:arm64 (15.2.0-7) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../091-liblapack3_3.12.1-7_arm64.deb ... Unpacking liblapack3:arm64 (3.12.1-7) ... Selecting previously unselected package fontconfig. Preparing to unpack .../092-fontconfig_2.15.0-2.4_arm64.deb ... Unpacking fontconfig (2.15.0-2.4) ... Selecting previously unselected package libfribidi0:arm64. Preparing to unpack .../093-libfribidi0_1.0.16-3_arm64.deb ... Unpacking libfribidi0:arm64 (1.0.16-3) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../094-libgraphite2-3_1.3.14-11_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.14-11) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../095-libharfbuzz0b_12.1.0-1_arm64.deb ... Unpacking libharfbuzz0b:arm64 (12.1.0-1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../096-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:arm64. Preparing to unpack .../097-libdatrie1_0.2.13-4_arm64.deb ... Unpacking libdatrie1:arm64 (0.2.13-4) ... Selecting previously unselected package libthai0:arm64. Preparing to unpack .../098-libthai0_0.1.29-2+b1_arm64.deb ... Unpacking libthai0:arm64 (0.1.29-2+b1) ... Selecting previously unselected package libpango-1.0-0:arm64. Preparing to unpack .../099-libpango-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpango-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libpangoft2-1.0-0:arm64. Preparing to unpack .../100-libpangoft2-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpangoft2-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libpangocairo-1.0-0:arm64. Preparing to unpack .../101-libpangocairo-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpangocairo-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../102-libreadline8t64_8.3-3_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.3-3) ... Selecting previously unselected package libtcl8.6:arm64. Preparing to unpack .../103-libtcl8.6_8.6.17+dfsg-1_arm64.deb ... Unpacking libtcl8.6:arm64 (8.6.17+dfsg-1) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../104-libjbig0_2.1-6.1+b2_arm64.deb ... Unpacking libjbig0:arm64 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:arm64. Preparing to unpack .../105-liblerc4_4.0.0+ds-5_arm64.deb ... Unpacking liblerc4:arm64 (4.0.0+ds-5) ... Selecting previously unselected package libsharpyuv0:arm64. Preparing to unpack .../106-libsharpyuv0_1.5.0-0.1_arm64.deb ... Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... Selecting previously unselected package libwebp7:arm64. Preparing to unpack .../107-libwebp7_1.5.0-0.1_arm64.deb ... Unpacking libwebp7:arm64 (1.5.0-0.1) ... Selecting previously unselected package libtiff6:arm64. Preparing to unpack .../108-libtiff6_4.7.1-1_arm64.deb ... Unpacking libtiff6:arm64 (4.7.1-1) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../109-libtirpc-common_1.3.6+ds-1_all.deb ... Unpacking libtirpc-common (1.3.6+ds-1) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../110-libtirpc3t64_1.3.6+ds-1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.6+ds-1) ... Selecting previously unselected package libxft2:arm64. Preparing to unpack .../111-libxft2_2.3.6-1+b4_arm64.deb ... Unpacking libxft2:arm64 (2.3.6-1+b4) ... Selecting previously unselected package x11-common. Preparing to unpack .../112-x11-common_1%3a7.7+26_all.deb ... Unpacking x11-common (1:7.7+26) ... Selecting previously unselected package libxss1:arm64. Preparing to unpack .../113-libxss1_1%3a1.2.3-1+b3_arm64.deb ... Unpacking libxss1:arm64 (1:1.2.3-1+b3) ... Selecting previously unselected package libtk8.6:arm64. Preparing to unpack .../114-libtk8.6_8.6.17-1_arm64.deb ... Unpacking libtk8.6:arm64 (8.6.17-1) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../115-libice6_2%3a1.1.1-1_arm64.deb ... Unpacking libice6:arm64 (2:1.1.1-1) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../116-libsm6_2%3a1.2.6-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.6-1) ... Selecting previously unselected package libxt6t64:arm64. Preparing to unpack .../117-libxt6t64_1%3a1.2.1-1.3_arm64.deb ... Unpacking libxt6t64:arm64 (1:1.2.1-1.3) ... Selecting previously unselected package r-base-core. Preparing to unpack .../118-r-base-core_4.5.1-1_arm64.deb ... Unpacking r-base-core (4.5.1-1) ... Selecting previously unselected package libgfortran-15-dev:arm64. Preparing to unpack .../119-libgfortran-15-dev_15.2.0-7_arm64.deb ... Unpacking libgfortran-15-dev:arm64 (15.2.0-7) ... Selecting previously unselected package gfortran-15-aarch64-linux-gnu. Preparing to unpack .../120-gfortran-15-aarch64-linux-gnu_15.2.0-7_arm64.deb ... Unpacking gfortran-15-aarch64-linux-gnu (15.2.0-7) ... Selecting previously unselected package gfortran-15. Preparing to unpack .../121-gfortran-15_15.2.0-7_arm64.deb ... Unpacking gfortran-15 (15.2.0-7) ... Selecting previously unselected package gfortran-aarch64-linux-gnu. Preparing to unpack .../122-gfortran-aarch64-linux-gnu_4%3a15.2.0-4_arm64.deb ... Unpacking gfortran-aarch64-linux-gnu (4:15.2.0-4) ... Selecting previously unselected package gfortran. Preparing to unpack .../123-gfortran_4%3a15.2.0-4_arm64.deb ... Unpacking gfortran (4:15.2.0-4) ... Selecting previously unselected package libblas-dev:arm64. Preparing to unpack .../124-libblas-dev_3.12.1-7_arm64.deb ... Unpacking libblas-dev:arm64 (3.12.1-7) ... Selecting previously unselected package liblapack-dev:arm64. Preparing to unpack .../125-liblapack-dev_3.12.1-7_arm64.deb ... Unpacking liblapack-dev:arm64 (3.12.1-7) ... Selecting previously unselected package libncurses6:arm64. Preparing to unpack .../126-libncurses6_6.5+20250216-2_arm64.deb ... Unpacking libncurses6:arm64 (6.5+20250216-2) ... Selecting previously unselected package libncurses-dev:arm64. Preparing to unpack .../127-libncurses-dev_6.5+20250216-2_arm64.deb ... Unpacking libncurses-dev:arm64 (6.5+20250216-2) ... Selecting previously unselected package libreadline-dev:arm64. Preparing to unpack .../128-libreadline-dev_8.3-3_arm64.deb ... Unpacking libreadline-dev:arm64 (8.3-3) ... Selecting previously unselected package libjpeg62-turbo-dev:arm64. Preparing to unpack .../129-libjpeg62-turbo-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libjpeg-dev:arm64. Preparing to unpack .../130-libjpeg-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../131-libpcre2-16-0_10.46-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../132-libpcre2-32-0_10.46-1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../133-libpcre2-posix3_10.46-1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../134-libpcre2-dev_10.46-1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.46-1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../135-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpng-dev:arm64. Preparing to unpack .../136-libpng-dev_1.6.50-1_arm64.deb ... Unpacking libpng-dev:arm64 (1.6.50-1) ... Selecting previously unselected package libbz2-dev:arm64. Preparing to unpack .../137-libbz2-dev_1.0.8-6_arm64.deb ... Unpacking libbz2-dev:arm64 (1.0.8-6) ... Selecting previously unselected package liblzma-dev:arm64. Preparing to unpack .../138-liblzma-dev_5.8.1-2_arm64.deb ... Unpacking liblzma-dev:arm64 (5.8.1-2) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../139-icu-devtools_76.1-4_arm64.deb ... Unpacking icu-devtools (76.1-4) ... Selecting previously unselected package libicu-dev:arm64. Preparing to unpack .../140-libicu-dev_76.1-4_arm64.deb ... Unpacking libicu-dev:arm64 (76.1-4) ... Selecting previously unselected package libxmuu1:arm64. Preparing to unpack .../141-libxmuu1_2%3a1.1.3-3+b4_arm64.deb ... Unpacking libxmuu1:arm64 (2:1.1.3-3+b4) ... Selecting previously unselected package xauth. Preparing to unpack .../142-xauth_1%3a1.1.2-1.1_arm64.deb ... Unpacking xauth (1:1.1.2-1.1) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../143-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../144-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../145-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package libtirpc-dev:arm64. Preparing to unpack .../146-libtirpc-dev_1.3.6+ds-1_arm64.deb ... Unpacking libtirpc-dev:arm64 (1.3.6+ds-1) ... Selecting previously unselected package libdeflate-dev:arm64. Preparing to unpack .../147-libdeflate-dev_1.23-2_arm64.deb ... Unpacking libdeflate-dev:arm64 (1.23-2) ... Selecting previously unselected package libzstd-dev:arm64. Preparing to unpack .../148-libzstd-dev_1.5.7+dfsg-2_arm64.deb ... Unpacking libzstd-dev:arm64 (1.5.7+dfsg-2) ... Selecting previously unselected package r-base-dev. Preparing to unpack .../149-r-base-dev_4.5.1-1_all.deb ... Unpacking r-base-dev (4.5.1-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../150-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libswitch-perl. Preparing to unpack .../151-libswitch-perl_2.17-3_all.deb ... Unpacking libswitch-perl (2.17-3) ... Selecting previously unselected package libclone-perl:arm64. Preparing to unpack .../152-libclone-perl_0.47-1+b1_arm64.deb ... Unpacking libclone-perl:arm64 (0.47-1+b1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../153-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../154-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../155-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../156-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../157-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../158-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../159-libhttp-message-perl_7.01-1_all.deb ... Unpacking libhttp-message-perl (7.01-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../160-libparams-util-perl_1.102-3+b1_arm64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../161-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../162-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:arm64. Preparing to unpack .../163-libb-hooks-op-check-perl_0.22-3+b2_arm64.deb ... Unpacking libb-hooks-op-check-perl:arm64 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../164-libdynaloader-functions-perl_0.004-2_all.deb ... Unpacking libdynaloader-functions-perl (0.004-2) ... Selecting previously unselected package libdevel-callchecker-perl:arm64. Preparing to unpack .../165-libdevel-callchecker-perl_0.009-2_arm64.deb ... Unpacking libdevel-callchecker-perl:arm64 (0.009-2) ... Selecting previously unselected package libparams-classify-perl:arm64. Preparing to unpack .../166-libparams-classify-perl_0.015-2+b4_arm64.deb ... Unpacking libparams-classify-perl:arm64 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../167-libmodule-runtime-perl_0.018-1_all.deb ... Unpacking libmodule-runtime-perl (0.018-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../168-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../169-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../170-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../171-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libclass-load-xs-perl. Preparing to unpack .../172-libclass-load-xs-perl_0.10-2+b4_arm64.deb ... Unpacking libclass-load-xs-perl (0.10-2+b4) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../173-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libdevel-globaldestruction-perl. Preparing to unpack .../174-libdevel-globaldestruction-perl_0.14-4_all.deb ... Unpacking libdevel-globaldestruction-perl (0.14-4) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../175-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../176-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../177-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libdevel-overloadinfo-perl. Preparing to unpack .../178-libdevel-overloadinfo-perl_0.008-1_all.deb ... Unpacking libdevel-overloadinfo-perl (0.008-1) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../179-libdevel-stacktrace-perl_2.0500-1_all.deb ... Unpacking libdevel-stacktrace-perl (2.0500-1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../180-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libeval-closure-perl. Preparing to unpack .../181-libeval-closure-perl_0.14-3_all.deb ... Unpacking libeval-closure-perl (0.14-3) ... Selecting previously unselected package libdist-checkconflicts-perl. Preparing to unpack .../182-libdist-checkconflicts-perl_0.11-2_all.deb ... Unpacking libdist-checkconflicts-perl (0.11-2) ... Selecting previously unselected package libmodule-runtime-conflicts-perl. Preparing to unpack .../183-libmodule-runtime-conflicts-perl_0.003-2_all.deb ... Unpacking libmodule-runtime-conflicts-perl (0.003-2) ... Selecting previously unselected package libpackage-deprecationmanager-perl. Preparing to unpack .../184-libpackage-deprecationmanager-perl_0.18-1_all.deb ... Unpacking libpackage-deprecationmanager-perl (0.18-1) ... Selecting previously unselected package libpackage-stash-xs-perl:arm64. Preparing to unpack .../185-libpackage-stash-xs-perl_0.30-1+b4_arm64.deb ... Unpacking libpackage-stash-xs-perl:arm64 (0.30-1+b4) ... Selecting previously unselected package libmoose-perl:arm64. Preparing to unpack .../186-libmoose-perl_2.4000-1_arm64.deb ... Unpacking libmoose-perl:arm64 (2.4000-1) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../187-libvariable-magic-perl_0.64-1+b1_arm64.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../188-libb-hooks-endofscope-perl_0.28-2_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../189-libsub-identify-perl_0.14-3+b3_arm64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsub-name-perl:arm64. Preparing to unpack .../190-libsub-name-perl_0.28-1_arm64.deb ... Unpacking libsub-name-perl:arm64 (0.28-1) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../191-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../192-libngtcp2-crypto-gnutls8_1.16.0-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.16.0-1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../193-libcurl3t64-gnutls_8.17.0~rc3-1_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.17.0~rc3-1) ... Selecting previously unselected package libwww-curl-perl:arm64. Preparing to unpack .../194-libwww-curl-perl_4.17-12_arm64.deb ... Unpacking libwww-curl-perl:arm64 (4.17-12) ... Selecting previously unselected package libwww-curl-simple-perl. Preparing to unpack .../195-libwww-curl-simple-perl_0.100191-3_all.deb ... Unpacking libwww-curl-simple-perl (0.100191-3) ... Selecting previously unselected package dh-r. Preparing to unpack .../196-dh-r_20250812_all.deb ... Unpacking dh-r (20250812) ... Selecting previously unselected package libabsl20240722:arm64. Preparing to unpack .../197-libabsl20240722_20240722.0-4_arm64.deb ... Unpacking libabsl20240722:arm64 (20240722.0-4) ... Selecting previously unselected package libabsl-dev:arm64. Preparing to unpack .../198-libabsl-dev_20240722.0-4_arm64.deb ... Unpacking libabsl-dev:arm64 (20240722.0-4) ... Selecting previously unselected package libssl-dev:arm64. Preparing to unpack .../199-libssl-dev_3.5.4-1_arm64.deb ... Unpacking libssl-dev:arm64 (3.5.4-1) ... Selecting previously unselected package r-cran-littler. Preparing to unpack .../200-r-cran-littler_0.3.21-2_arm64.deb ... Unpacking r-cran-littler (0.3.21-2) ... Selecting previously unselected package littler. Preparing to unpack .../201-littler_0.3.21-2_all.deb ... Unpacking littler (0.3.21-2) ... Selecting previously unselected package r-cran-pkgkitten. Preparing to unpack .../202-r-cran-pkgkitten_0.2.4-1_all.deb ... Unpacking r-cran-pkgkitten (0.2.4-1) ... Selecting previously unselected package r-cran-rcpp. Preparing to unpack .../203-r-cran-rcpp_1.1.0-1_arm64.deb ... Unpacking r-cran-rcpp (1.1.0-1) ... Selecting previously unselected package r-cran-wk. Preparing to unpack .../204-r-cran-wk_0.9.4-1_arm64.deb ... Unpacking r-cran-wk (0.9.4-1) ... Setting up libexpat1:arm64 (2.7.3-1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libgraphite2-3:arm64 (1.3.14-11) ... Setting up libpixman-1-0:arm64 (0.46.4-1) ... Setting up libtext-charwidth-perl:arm64 (0.04-11+b4) ... Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libxau6:arm64 (1:1.0.11-1) ... Setting up libxdmcp6:arm64 (1:1.1.5-1) ... Setting up libkeyutils1:arm64 (1.6.3-6) ... Setting up libxcb1:arm64 (1.17.0-2+b1) ... Setting up liblerc4:arm64 (4.0.0+ds-5) ... Setting up libzstd-dev:arm64 (1.5.7+dfsg-2) ... Setting up bsdextrautils (2.41.2-4) ... Setting up libdynaloader-functions-perl (0.004-2) ... Setting up libdatrie1:arm64 (0.2.13-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libxcb-render0:arm64 (1.17.0-2+b1) ... Setting up libclone-perl:arm64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libxml2-16:arm64 (2.14.6+dfsg-0.1) ... Setting up libtirpc-common (1.3.6+ds-1) ... Setting up unzip (6.0-29) ... Setting up libdebhelper-perl (13.28) ... Setting up libbrotli1:arm64 (1.1.0-2+b7) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:arm64 (1:5.46-5) ... Setting up x11-common (1:7.7+26) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libtry-tiny-perl (0.32-1) ... Setting up libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Setting up libdeflate0:arm64 (1.23-2) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-2) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libxcb-shm0:arm64 (1.17.0-2+b1) ... Setting up libcom-err2:arm64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libabsl20240722:arm64 (20240722.0-4) ... Setting up libtext-wrapi18n-perl (0.06-10) ... Setting up libjbig0:arm64 (2.1-6.1+b2) ... Setting up libpcre2-16-0:arm64 (10.46-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:arm64 (0.193-3) ... Setting up libkrb5support0:arm64 (1.21.3-5) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-10) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Dec 4 11:39:31 UTC 2026. Universal Time is now: Fri Dec 4 11:39:31 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up zip (3.0-15) ... Setting up libpackage-stash-xs-perl:arm64 (0.30-1+b4) ... Setting up autotools-dev (20240727.1) ... Setting up libpcre2-32-0:arm64 (10.46-1) ... Setting up libblas3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libjpeg62-turbo:arm64 (1:2.1.5-4) ... Setting up libswitch-perl (2.17-3) ... Setting up libx11-data (2:1.8.12-1) ... Setting up libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Setting up libncurses6:arm64 (6.5+20250216-2) ... Setting up libfribidi0:arm64 (1.0.16-3) ... Setting up libproc2-0:arm64 (2:4.0.4-9) ... Setting up libunistring5:arm64 (1.3-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libssl-dev:arm64 (3.5.4-1) ... Setting up libpng16-16t64:arm64 (1.6.50-1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up libtcl8.6:arm64 (8.6.17+dfsg-1) ... Setting up autopoint (0.23.1-2) ... Setting up libb-hooks-op-check-perl:arm64 (0.22-3+b2) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-5) ... Setting up libabsl-dev:arm64 (20240722.0-4) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-10) ... Setting up libgfortran5:arm64 (15.2.0-7) ... Setting up autoconf (2.72-3.1) ... Setting up libnghttp3-9:arm64 (1.12.0-1) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libwebp7:arm64 (1.5.0-0.1) ... Setting up libtimedate-perl (2.3300-2) ... Setting up liblzma-dev:arm64 (5.8.1-2) ... Setting up libsub-name-perl:arm64 (0.28-1) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libffi8:arm64 (3.5.2-2) ... Setting up libpcre2-posix3:arm64 (10.46-1) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libtiff6:arm64 (4.7.1-1) ... Setting up libuchardet0:arm64 (0.0.8-2) ... Setting up procps (2:4.0.4-9) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up libx11-6:arm64 (2:1.8.12-1) ... Setting up libthai-data (0.1.29-2) ... Setting up libdevel-globaldestruction-perl (0.14-4) ... Setting up libngtcp2-16:arm64 (1.16.0-1) ... Setting up libdevel-stacktrace-perl (2.0500-1) ... Setting up libkrb5-3:arm64 (1.21.3-5) ... Setting up libicu76:arm64 (76.1-4) ... Setting up libpaper2:arm64 (2.2.5-0.3+b2) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up openssl (3.5.4-1) ... Setting up libdeflate-dev:arm64 (1.23-2) ... Setting up readline-common (8.3-3) ... Setting up xdg-utils (1.2.1-2) ... update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode Setting up libldap2:arm64 (2.6.10+dfsg-1) ... Setting up liburi-perl (5.30-1) ... Setting up libxmuu1:arm64 (2:1.1.3-3+b4) ... Setting up libblas-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode Setting up dctrl-tools (2.24-3+b1) ... Setting up libbz2-dev:arm64 (1.0.8-6) ... Setting up automake (1:1.18.1-2) ... update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up libice6:arm64 (2:1.1.1-1) ... Setting up libhttp-date-perl (6.06-1) ... Setting up liblapack3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libncurses-dev:arm64 (6.5+20250216-2) ... Setting up gettext (0.23.1-2+b1) ... Setting up libpcre2-dev:arm64 (10.46-1) ... Setting up libxrender1:arm64 (1:0.9.12-1) ... Setting up libtool (2.5.4-7) ... Setting up fontconfig-config (2.15.0-2.4) ... Setting up libpng-dev:arm64 (1.6.50-1) ... Setting up libjpeg-dev:arm64 (1:2.1.5-4) ... Setting up libxext6:arm64 (2:1.3.4-1+b3) ... Setting up libidn2-0:arm64 (2.3.8-4) ... Setting up libpaper-utils (2.2.5-0.3+b2) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libdevel-callchecker-perl:arm64 (0.009-2) ... Setting up libgfortran-15-dev:arm64 (15.2.0-7) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (21) ... Setting up libthai0:arm64 (0.1.29-2+b1) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libglib2.0-0t64:arm64 (2.86.1-1) ... No schema files found: doing nothing. Setting up libfreetype6:arm64 (2.13.3+dfsg-1) ... Setting up gfortran-15-aarch64-linux-gnu (15.2.0-7) ... Setting up libp11-kit0:arm64 (0.25.9-2) ... Setting up liblapack-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode Setting up libgssapi-krb5-2:arm64 (1.21.3-5) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up icu-devtools (76.1-4) ... Setting up ucf (3.0052) ... Setting up libngtcp2-crypto-ossl0:arm64 (1.16.0-1) ... Setting up libreadline8t64:arm64 (8.3-3) ... Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up xauth (1:1.1.2-1.1) ... Setting up groff-base (1.23.0-9) ... Setting up libharfbuzz0b:arm64 (12.1.0-1) ... Setting up gfortran-aarch64-linux-gnu (4:15.2.0-4) ... Setting up libxss1:arm64 (1:1.2.3-1+b3) ... Setting up libfontconfig1:arm64 (2.15.0-2.4) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libsm6:arm64 (2:1.2.6-1) ... Setting up libicu-dev:arm64 (76.1-4) ... Setting up gfortran-15 (15.2.0-7) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libhttp-message-perl (7.01-1) ... Setting up libeval-closure-perl (0.14-3) ... Setting up libgnutls30t64:arm64 (3.8.10-3) ... Setting up fontconfig (2.15.0-2.4) ... Regenerating fonts cache... done. Setting up libxft2:arm64 (2.3.6-1+b4) ... Setting up libtirpc3t64:arm64 (1.3.6+ds-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libtk8.6:arm64 (8.6.17-1) ... Setting up libparams-classify-perl:arm64 (0.015-2+b4) ... Setting up libpango-1.0-0:arm64 (1.56.3-2) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up libreadline-dev:arm64 (8.3-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up gfortran (4:15.2.0-4) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up libcairo2:arm64 (1.18.4-1+b1) ... Setting up libtirpc-dev:arm64 (1.3.6+ds-1) ... Setting up libmodule-runtime-perl (0.018-1) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Setting up libxt6t64:arm64 (1:1.2.1-1.3) ... Setting up libdist-checkconflicts-perl (0.11-2) ... Setting up libpangoft2-1.0-0:arm64 (1.56.3-2) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.16.0-1) ... Setting up libpangocairo-1.0-0:arm64 (1.56.3-2) ... Setting up libcurl4t64:arm64 (8.17.0~rc3-1) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libcurl3t64-gnutls:arm64 (8.17.0~rc3-1) ... Setting up libwww-curl-perl:arm64 (4.17-12) ... Setting up debhelper (13.28) ... Setting up libmodule-runtime-conflicts-perl (0.003-2) ... Setting up libclass-load-perl (0.25-2) ... Setting up r-base-core (4.5.1-1) ... Creating config file /etc/R/Renviron with new version Setting up libpackage-deprecationmanager-perl (0.18-1) ... Setting up libdevel-overloadinfo-perl (0.008-1) ... Setting up libclass-load-xs-perl (0.10-2+b4) ... Setting up r-cran-wk (0.9.4-1) ... Setting up r-cran-pkgkitten (0.2.4-1) ... Setting up libb-hooks-endofscope-perl (0.28-2) ... Setting up r-cran-littler (0.3.21-2) ... Setting up r-cran-rcpp (1.1.0-1) ... Setting up r-base-dev (4.5.1-1) ... Setting up littler (0.3.21-2) ... Setting up libmoose-perl:arm64 (2.4000-1) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libwww-curl-simple-perl (0.100191-3) ... Setting up dh-r (20250812) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.2-1). Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/r-cran-s2-1.1.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../r-cran-s2_1.1.9-1_source.changes dpkg-buildpackage: info: source package r-cran-s2 dpkg-buildpackage: info: source version 1.1.9-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Nilesh Patra dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem R dh_auto_clean -O--buildsystem=R dh_autoreconf_clean -O--buildsystem=R dh_clean -O--buildsystem=R debian/rules binary dh binary --buildsystem R dh_update_autotools_config -O--buildsystem=R dh_autoreconf -O--buildsystem=R dh_auto_configure -O--buildsystem=R dh_auto_build -O--buildsystem=R dh_auto_test -O--buildsystem=R create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=R dh_prep -O--buildsystem=R dh_auto_install --destdir=debian/r-cran-s2/ -O--buildsystem=R I: R packages needed for DEP8: bit64, testthat (>= 3.0.0), vctrs I: R Package: s2 Version: 1.1.9 I: Building using R version 4.5.1-1 I: R API version: r-api-4.0 I: Using built-time from d/changelog: Sun, 26 Oct 2025 19:50:44 +0530 mkdir -p /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library R CMD INSTALL -l /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library --clean . --built-timestamp="'Sun, 26 Oct 2025 19:50:44 +0530'" * installing *source* package 's2' ... ** this is package 's2' version '1.1.9' files 'R/zzz.R', 'src/Makevars.in', 'src/s2/util/math/exactfloat/exactfloat.cc' have the wrong MD5 checksums ** using staged installation Found OpenSSL pkg-config cflags and libs! Testing compiler OpenSSL configuration using PKG_CFLAGS= ** Using PKG_CONFIG_PATH=:/build/reproducible-path/r-cran-s2-1.1.9/tools/pkgconfig ** Using abseil-cpp from pkg-config Testing Abseil configuration using PKG_CFLAGS= Using PKG_LIBS=-labsl_flags_internal -labsl_flags_marshalling -labsl_log_severity -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_raw_logging_internal -labsl_raw_logging_internal -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_throw_delegate -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_check_op -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_conditions -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_severity -labsl_log_severity -labsl_log_internal_proto -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_nullguard -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_log_sink_set -labsl_log_internal_globals -labsl_log_severity -labsl_log_globals -labsl_hash -labsl_city -labsl_bad_variant_access -labsl_low_level_hash -labsl_log_severity -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_severity -labsl_log_sink -labsl_log_entry -labsl_log_severity -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_stacktrace -labsl_strerror -labsl_str_format_internal -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -Wl,--push-state,--as-needed -latomic -Wl,--pop-state -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto Using PKG_CFLAGS= ** libs using C compiler: 'gcc (Debian 15.2.0-7) 15.2.0' using C++ compiler: 'g++ (Debian 15.2.0-7) 15.2.0' using C++17 make[1]: Entering directory '/build/reproducible-path/r-cran-s2-1.1.9/src' g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c cpp-compat.cpp -o cpp-compat.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-accessors.cpp -o s2-accessors.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from geography-operator.h:7, from s2-accessors.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-bounds.cpp -o s2-bounds.o In file included from s2/s2latlng_rect.h:29, from s2-bounds.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s1angle.h:28, from s2/s2latlng_rect.h:30: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s1chord_angle.h:31, from s2/s2cap.h:31, from s2-bounds.cpp:3: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-options.h:7, from s2-bounds.cpp:5: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2builder.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8, from s2-options.h:13: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-cell.cpp -o s2-cell.o In file included from ../src/s2/r2rect.h:26, from s2/s2cell_id.h:42, from s2-cell.cpp:8: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2-cell.cpp:9: s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2-cell.cpp:10: s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2convex_hull_query.h:26, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from s2-cell.cpp:12: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:46, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/r2.h:22, from s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:160:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2LatLng ll = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized(); | ^ s2-cell.cpp: In member function 'virtual SEXPREC* cpp_s2_cell_center(Rcpp::NumericVector)::Op::processCell(S2CellId, R_xlen_t)': s2-cell.cpp:357:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | return RGeography::MakeXPtr(RGeography::MakePoint(cellId.ToPoint())); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ geography.h: In static member function 'static std::unique_ptr RGeography::MakePoint(S2Point)': geography.h:41:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | static std::unique_ptr MakePoint(S2Point point) { | ^~~~~~~~~ s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:160:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2LatLng ll = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ In file included from s2geography/aggregator.h:4, from s2geography/accessors-geog.h:6: s2geography/geography.h: In constructor 's2geography::PointGeography::PointGeography(S2Point)': s2geography/geography.h:74:3: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | PointGeography(S2Point point) { points_.push_back(point); } | ^~~~~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:144:15: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 144 | NumericVector cpp_s2_cell_from_lnglat(List lnglat) { | ^~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-cell-union.cpp -o s2-cell-union.o In file included from ../src/s2/r2rect.h:26, from s2/s2cell_id.h:42, from s2-cell-union.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2-cell-union.cpp:3: s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2-cell-union.cpp:4: s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from s2/s2shape_index_buffered_region.h:29, from s2-cell-union.cpp:7: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r2.h:22, from s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2distance_target.h:26: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-constructors-formatters.cpp -o s2-constructors-formatters.o In file included from ../src/s2/s1angle.h:28, from s2/s2pointutil.h:25, from s2-constructors-formatters.cpp:6: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from s2-constructors-formatters.cpp:9: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:888:43: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 888 | R2Point Project(const S2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const': s2-constructors-formatters.cpp:895:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 895 | S2Point Unproject(const R2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:909:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::wrap_distance() const': s2-constructors-formatters.cpp:913:33: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 913 | R2Point wrap_distance() const {return R2Point(0, 0); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2geography.h:7: s2geography/constructor.h: In member function 'void s2geography::util::Constructor::finish_points()': s2geography/constructor.h:90:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | points_.push_back(options_.projection()->Unproject(R2Point(pt.x(), pt.y()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)': s2-constructors-formatters.cpp:373:55: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:889:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ^ s2-constructors-formatters.cpp:891:36: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 891 | return R2Point(out.y(), out.z()); | ^ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^~~~~~~~ s2-constructors-formatters.cpp:910:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 910 | return S2LatLng(Unproject(p)); | ~~~~~~~~~^~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~ s2-constructors-formatters.cpp:906:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~~~~^~ s2-constructors-formatters.cpp:906:32: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ^ s2-constructors-formatters.cpp: In function 'SEXPREC* c_s2_projection_orthographic(SEXP)': s2-constructors-formatters.cpp:948:69: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 948 | S2LatLng::FromDegrees(REAL(centre_sexp)[1], REAL(centre_sexp)[0]); | ^ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2-constructors-formatters.cpp: In function 'SEXPREC* c_s2_projection_orthographic(SEXP)': s2-constructors-formatters.cpp:948:26: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 948 | S2LatLng::FromDegrees(REAL(centre_sexp)[1], REAL(centre_sexp)[0]); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::wrap_distance() const': s2-constructors-formatters.cpp:913:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 913 | R2Point wrap_distance() const {return R2Point(0, 0); } | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const': s2-constructors-formatters.cpp:895:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 895 | S2Point Unproject(const R2Point& p) const { | ^~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 888 | R2Point Project(const S2Point& p) const { | ^~~~~~~ s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~ s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:906:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~~~~^~ s2-constructors-formatters.cpp:906:19: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~^~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:910:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 910 | return S2LatLng(Unproject(p)); | ~~~~~~~~~^~~ s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^~~~~~~~ s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const', inlined from 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const' at s2-constructors-formatters.cpp:910:30: s2-constructors-formatters.cpp:900:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 900 | S2Point out = S2::Rotate(pp, y_axis_, -centre_.lat()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 481 | int handle_points(const s2geography::PointGeography& geog, | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]': s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 481 | int handle_points(const s2geography::PointGeography& geog, | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2geography/constructor.h: In member function 'virtual s2geography::Handler::Result s2geography::util::PointConstructor::coords(const double*, int64_t, int32_t)': s2geography/constructor.h:129:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | points_.push_back(options_.projection()->Unproject(pt)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ s2-constructors-formatters.cpp: In function 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 521 | int handle_polylines(const s2geography::PolylineGeography& geog, | ^~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:548:9: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:548:9: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:550:9: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:550:9: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:566:11: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:566:11: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:568:11: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:568:11: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 626 | int handle_shell(const S2Polygon& poly, | ^~~~~~~~~~~~ s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:595:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:595:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:597:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:597:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:617:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:617:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2geography/constructor.h: In member function 'void s2geography::util::Constructor::finish_points()': s2geography/constructor.h:90:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | points_.push_back(options_.projection()->Unproject(R2Point(pt.x(), pt.y()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)': s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 453 | int last_coord_in_loop(const wk_meta_t* meta, const S2Point& point, wk_handler_t* handler) { | ^~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]': s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 626 | int handle_shell(const S2Polygon& poly, | ^~~~~~~~~~~~ s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-predicates.cpp -o s2-predicates.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-predicates.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2closest_edge_query.h:32, from s2-predicates.cpp:3: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2-predicates.cpp: In member function 'virtual int cpp_s2_intersects_box(Rcpp::List, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-predicates.cpp:213:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:213:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ^ s2-predicates.cpp:214:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ^ s2-predicates.cpp:226:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 226 | S2LatLngRect rect(S2LatLng::FromDegrees(ymin, xmin), S2LatLng::FromDegrees(ymax, xmax)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': ../src/s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ s2-predicates.cpp: In member function 'virtual int cpp_s2_intersects_box(Rcpp::List, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-predicates.cpp:213:50: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 199 | int processFeature(XPtr feature, R_xlen_t i) { | ^~~~~~~~~~~~~~ s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-predicates.cpp:213:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:213:80: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:80: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-transformers.cpp -o s2-transformers.o In file included from ../src/s2/s1angle.h:28, from s2/s2shape_index_buffered_region.h:23, from s2-transformers.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2shape_index_buffered_region.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from s2/s2shape_index_buffered_region.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2distance_target.h:26: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2-transformers.cpp: In member function 'virtual SEXPREC* cpp_s2_point_on_surface(Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-transformers.cpp:232:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 232 | S2Point result = s2geography::s2_point_on_surface(feature->Geog(), coverer); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c init.cpp -o init.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c RcppExports.cpp -o RcppExports.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-geography.cpp -o s2-geography.o In file included from ../src/s2/s1angle.h:28, from s2/s2latlng.h:32, from s2-geography.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2polyline.h:34, from s2-geography.cpp:3: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8, from geography.h:7, from s2-geography.cpp:6: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r2.h:22, from s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2/s2polygon.h:43, from s2-geography.cpp:4: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-lnglat.cpp -o s2-lnglat.o In file included from ../src/s2/s1angle.h:28, from s2/s2latlng.h:32, from s2-lnglat.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/r2.h:22, from s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2-lnglat.cpp: In function 'Rcpp::List s2_point_from_s2_lnglat(Rcpp::List)': s2-lnglat.cpp:43:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:43:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:43:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ s2-lnglat.cpp: In function 'int s2_point_trans(R_xlen_t, const double*, double*, void*)': s2-lnglat.cpp:53:85: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ^ s2-lnglat.cpp:53:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:53:85: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ^ s2-lnglat.cpp:53:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 52 | int s2_point_trans(R_xlen_t feature_id, const double* xyzm_in, double* xyzm_out, void* trans_data) { | ^~~~~~~~~~~~~~ s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:53:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:53:84: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp: In function 'Rcpp::List s2_point_from_s2_lnglat(Rcpp::List)': s2-lnglat.cpp:31:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | List s2_point_from_s2_lnglat(List s2_lnglat) { | ^~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:31:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:43:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:43:70: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-matrix.cpp -o s2-matrix.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-matrix.cpp:6: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2closest_edge_query.h:32, from s2-matrix.cpp:7: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c wk-impl.c -o wk-impl.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/accessors-geog.cc -o s2geography/accessors-geog.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2geography/accessors-geog.h:4, from s2geography/accessors-geog.cc:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/accessors-geog.cc: In function 'S2Point s2geography::s2_centroid(const Geography&)': s2geography/accessors-geog.cc:12:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 12 | S2Point s2_centroid(const Geography& geog) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/accessors.cc -o s2geography/accessors.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/accessors.h:4, from s2geography/accessors.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2geography/accessors.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2geography/accessors.cc:273:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | } // namespace s2geography | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/build.cc -o s2geography/build.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2point_vector_layer.h:27, from s2geography/build.h:4, from s2geography/build.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2point_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/coverings.cc -o s2geography/coverings.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography/coverings.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/mutable_s2shape_index.h:46, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/coverings.h:6: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/coverings.cc: In function 'S2Point s2geography::s2_point_on_surface(const Geography&, S2RegionCoverer&)': s2geography/coverings.cc:13:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 13 | S2Point s2_point_on_surface(const Geography& geog, S2RegionCoverer& coverer) { | ^~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/distance.cc -o s2geography/distance.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/distance.h:4, from s2geography/distance.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2closest_edge_query.h:32, from s2geography/distance.cc:4: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/distance.cc: In function 'S2Point s2geography::s2_closest_point(const ShapeIndexGeography&, const ShapeIndexGeography&)': s2geography/distance.cc:33:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 33 | S2Point s2_closest_point(const ShapeIndexGeography& geog1, | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/geography.cc -o s2geography/geography.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/geography.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2shape_index_region.h:29, from s2geography/geography.cc:12: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2shape_index_region.h:32: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/linear-referencing.cc -o s2geography/linear-referencing.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/linear-referencing.h:4, from s2geography/linear-referencing.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/linear-referencing.cc: In function 'double s2geography::s2_project_normalized(const PolylineGeography&, const S2Point&)': s2geography/linear-referencing.cc:17:76: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 17 | S2Point point_on_line = geog1.Polylines()[0]->Project(point, &next_vertex); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/predicates.cc -o s2geography/predicates.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2boolean_operation.h:26, from s2geography/predicates.h:4, from s2geography/predicates.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2cell_id_vector.cc -o s2/encoded_s2cell_id_vector.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/encoded_s2cell_id_vector.h:29, from s2/encoded_s2cell_id_vector.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2point_vector.cc -o s2/encoded_s2point_vector.o In file included from ../src/s2/encoded_s2point_vector.h:30, from s2/encoded_s2point_vector.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/encoded_s2point_vector.cc:36: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/encoded_s2point_vector.cc: In member function 'std::vector s2coding::EncodedS2PointVector::Decode() const': s2/encoded_s2point_vector.cc:142:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 142 | points.push_back((*this)[i]); | ~~~~~~~~~^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/encoded_s2point_vector.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2/encoded_s2point_vector.cc:870:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 870 | } // namespace s2coding | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2shape_index.cc -o s2/encoded_s2shape_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/encoded_s2cell_id_vector.h:29, from ../src/s2/encoded_s2shape_index.h:30, from s2/encoded_s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_string_vector.cc -o s2/encoded_string_vector.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/id_set_lexicon.cc -o s2/id_set_lexicon.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/mutable_s2shape_index.cc -o s2/mutable_s2shape_index.o In file included from ../src/s2/mutable_s2shape_index.h:39, from s2/mutable_s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/mutable_s2shape_index.cc:48: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/mutable_s2shape_index.cc: In static member function 'static S2Point MutableS2ShapeIndex::InteriorTracker::Origin()': s2/mutable_s2shape_index.cc:369:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 369 | S2Point MutableS2ShapeIndex::InteriorTracker::Origin() { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In constructor 'MutableS2ShapeIndex::InteriorTracker::InteriorTracker()': s2/mutable_s2shape_index.cc:366:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 366 | : b_(Origin()), next_cellid_(S2CellId::Begin(S2CellId::kMaxLevel)) { | ^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc: In member function 'std::unique_ptr MutableS2ShapeIndex::Release(int)': s2/mutable_s2shape_index.cc:556:72: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 556 | s2shapeutil::ContainsBruteForce(*shape, InteriorTracker::Origin()); | ~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::FinishPartialShape(int)': s2/mutable_s2shape_index.cc:1123:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1123 | tracker.MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::UpdateFaceEdges(int, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1258:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1258 | R2Rect bound = R2Rect::Empty(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:188:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | inline R2Rect R2Rect::FromPointPair(const R2Point& p1, const R2Point& p2) { | ^~~~~~ ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell&, const Iterator&, std::vector*, InteriorTracker*, EdgeAllocator*)': s2/mutable_s2shape_index.cc:1599:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1599 | tracker->MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc:1672:20: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1672 | clipped->bound = S2::GetClippedEdgeBound(face_edge.a, face_edge.b, | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1673 | pcell.bound()); | ~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell&, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1844:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1844 | tracker->MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/mutable_s2shape_index.cc: In static member function 'static S2Point MutableS2ShapeIndex::InteriorTracker::Origin()': s2/mutable_s2shape_index.cc:371:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 371 | return S2::FaceUVtoXYZ(0, -1, -1).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/mutable_s2shape_index.cc: In member function 'int MutableS2ShapeIndex::GetEdgeMaxLevel(const S2Shape::Edge&) const': s2/mutable_s2shape_index.cc:1188:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1188 | ((edge.v0 - edge.v1).Norm() * | ^~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell&, const Iterator&, std::vector*, InteriorTracker*, EdgeAllocator*)': s2/mutable_s2shape_index.cc:1575:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1575 | void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell& pcell, | ^~~~~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc:1575:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/mutable_s2shape_index.cc:1672:45: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1672 | clipped->bound = S2::GetClippedEdgeBound(face_edge.a, face_edge.b, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 1673 | pcell.bound()); | ~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell&, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1693:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1693 | bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell& pcell, | ^~~~~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::UpdateFaceEdges(int, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1258:31: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1258 | R2Rect bound = R2Rect::Empty(); | ~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::FinishPartialShape(int)': s2/mutable_s2shape_index.cc:1055:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1055 | void MutableS2ShapeIndex::FinishPartialShape(int shape_id) { | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/r2rect.cc -o s2/r2rect.o In file included from ../src/s2/r2rect.h:26, from s2/r2rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:43: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:48: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~~ s2/r2rect.cc:63:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | R1Interval xx = x().Expanded(margin.x()); | ^ s2/r2rect.cc:65:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 65 | if (xx.is_empty() || yy.is_empty()) return Empty(); | ^ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Expanded(double) const': ../src/s2/r1interval.h:181:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 181 | R1Interval Expanded(double margin) const { | ^~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^~~~~~ ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Union(const R2Rect&) const': s2/r2rect.cc:69:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | R2Rect R2Rect::Union(const R2Rect& other) const { | ^~~~~~ s2/r2rect.cc:70:26: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | return R2Rect(x().Union(other.x()), y().Union(other.y())); | ~~~~~~~~~^~~~~~~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Intersection(const R2Rect&) const': s2/r2rect.cc:73:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | R2Rect R2Rect::Intersection(const R2Rect& other) const { | ^~~~~~ s2/r2rect.cc:74:45: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | R1Interval xx = x().Intersection(other.x()); | ^ s2/r2rect.cc:76:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 76 | if (xx.is_empty() || yy.is_empty()) return Empty(); | ^ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Intersection(const R1Interval&) const': ../src/s2/r1interval.h:196:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 196 | R1Interval Intersection(const R1Interval& y) const { | ^~~~~~~~~~~~ s2/r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const R2Rect&)': s2/r2rect.cc:86:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const R2Rect&)': s2/r2rect.cc:86:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/r2rect.cc: In static member function 'static R2Rect R2Rect::FromCenterSize(const R2Point&, const R2Point&)': s2/r2rect.cc:25:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 25 | R2Rect R2Rect::FromCenterSize(const R2Point& center, const R2Point& size) { | ^~~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1angle.cc -o s2/s1angle.o In file included from ../src/s2/s1angle.h:28, from s2/s1angle.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s1angle.cc:26: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:18: required from 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double; FloatType = double]' 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ^~~~~~~~~ s2/s1angle.cc:30:23: required from here 30 | : radians_(x.Angle(y)) { | ~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1chord_angle.cc -o s2/s1chord_angle.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from s2/s1chord_angle.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1interval.cc -o s2/s1interval.o In file included from s2/s1interval.cc:18: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2boolean_operation.cc -o s2/s2boolean_operation.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2boolean_operation.h:26, from s2/s2boolean_operation.cc:67: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2/s2boolean_operation.cc:94: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2boolean_operation.cc: In member function 'bool S2BooleanOperation::Impl::AddIndexCrossing(const ShapeEdge&, const ShapeEdge&, bool, IndexCrossings*)': s2/s2boolean_operation.cc:2209:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 2209 | S2::GetIntersection(a.v0(), a.v1(), b.v0(), b.v1())); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2buffer_operation.cc -o s2/s2buffer_operation.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2buffer_operation.h:25, from s2/s2buffer_operation.cc:49: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2buffer_operation.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::Init(std::unique_ptr, const Options&)': s2/s2buffer_operation.cc:288:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 288 | ref_point_ = S2::Origin(); | ~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddPoint(const S2Point&)': s2/s2buffer_operation.cc:469:60: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | S2Point rotate_dir = point.CrossProd(start).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc:471:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 471 | S2Point dir = S2::GetPointOnRay(start, rotate_dir, angle); | ^ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:257:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | inline S2Point GetPointOnRay(const S2Point& origin, const S2Point& dir, | ^~~~~~~~~~~~~ ../src/s2/s2edge_distances.h:272:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:499:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 499 | S2Point dir = S2::GetPointOnRay(start, rotate_dir, angle); | ^ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ In file included from ../src/s2/s2buffer_operation.h:26: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::CloseVertexArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:506:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 506 | AddOffsetVertex(S2::GetPointOnRay(v, end, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:522:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 522 | S2Point rotate_dir = buffer_sign_ * a.CrossProd(ab_axis).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc:525:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S2Point p = S2::GetPointOnRay(a, rotate_dir, angle); | ^ s2/s2buffer_operation.cc: In member function 'S2Point S2BufferOperation::GetEdgeAxis(const S2Point&, const S2Point&) const': s2/s2buffer_operation.cc:488:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc:488:60: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc:488:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::CloseEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:535:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 535 | AddOffsetVertex(S2::GetPointOnRay(b, GetEdgeAxis(a, b), abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddStartCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:598:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 598 | AddVertexArc(a, axis.CrossProd(a).Normalize(), axis); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:606:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 606 | S2Point axis = GetEdgeAxis(a, b); | ^ s2/s2buffer_operation.cc:618:48: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | S2Point end = b.CrossProd(axis).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2buffer_operation.cc:64: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::Init(std::unique_ptr, const Options&)': s2/s2buffer_operation.cc:288:26: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 288 | ref_point_ = S2::Origin(); | ~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:496:68: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | S2Point rotate_dir = buffer_sign_ * v.CrossProd(start).Normalize(); | ^ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:613:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 613 | AddVertexArc(b, axis, -axis); | ^~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:496:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | S2Point rotate_dir = buffer_sign_ * v.CrossProd(start).Normalize(); | ~~~~~~~~~~~^~~~~~~ s2/s2buffer_operation.cc:500:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 500 | AddOffsetVertex(S2::GetPointOnRay(v, dir, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:522:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 522 | S2Point rotate_dir = buffer_sign_ * a.CrossProd(ab_axis).Normalize(); | ~~~~~~~~~~~^~~~~~~~~ s2/s2buffer_operation.cc:526:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 526 | AddOffsetVertex(S2::GetPointOnRay(p, ab_axis, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:618:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | S2Point end = b.CrossProd(axis).Normalize(); | ~~~~~~~~~~~^~~~~~ s2/s2buffer_operation.cc:605:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 605 | void S2BufferOperation::AddEndCap(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddStartCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:598:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 598 | AddVertexArc(a, axis.CrossProd(a).Normalize(), axis); | ~~~~~~~~~~~~~~^~~ s2/s2buffer_operation.cc:582:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | void S2BufferOperation::AddStartCap(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddPoint(const S2Point&)': s2/s2buffer_operation.cc:469:43: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | S2Point rotate_dir = point.CrossProd(start).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~ s2/s2buffer_operation.cc:472:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 472 | AddOffsetVertex(S2::GetPointOnRay(point, dir, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builder_graph.cc -o s2/s2builder_graph.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builder_graph.h:31, from s2/s2builder_graph.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builder.cc -o s2/s2builder.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2builder.cc:71: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2closest_edge_query.h:32, from s2/s2builder.cc:101: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2builder.cc: In member function 'void S2Builder::MaybeAddExtraSites(InputEdgeId, const std::vector&, const MutableS2ShapeIndex&, absl::debian7::flat_hash_set*)': s2/s2builder.cc:986:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 986 | S2::Project(v1, a0, a1)).Normalize(); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetSeparationSite(const S2Point&, const S2Point&, const S2Point&, InputEdgeId) const': s2/s2builder.cc:1094:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1094 | S2Point S2Builder::GetSeparationSite(const S2Point& site_to_avoid, | ^~~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetCoverageEndpoint(const S2Point&, const S2Point&) const': s2/s2builder.cc:1135:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1135 | S2Point S2Builder::GetCoverageEndpoint(const S2Point& p, const S2Point& n) | ^~~~~~~~~ s2/s2builder.cc:1156:28: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1156 | S2Point nXp = n.CrossProd(p); | ~~~~~~~~~~~^~~ s2/s2builder.cc:1163:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1163 | return (om + mr).Normalize(); | ^ s2/s2builder.cc:1163:29: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1163 | return (om + mr).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetSeparationSite(const S2Point&, const S2Point&, const S2Point&, InputEdgeId) const': s2/s2builder.cc:1120:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1120 | S2Point gap_max = GetCoverageEndpoint(v1, -n); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_closed_set_normalizer.cc -o s2/s2builderutil_closed_set_normalizer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_closed_set_normalizer.h:25, from s2/s2builderutil_closed_set_normalizer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_find_polygon_degeneracies.cc -o s2/s2builderutil_find_polygon_degeneracies.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_find_polygon_degeneracies.cc: In member function 'bool s2builderutil::{anonymous}::DegeneracyFinder::CrossingParity(VertexId, VertexId, bool) const': s2/s2builderutil_find_polygon_degeneracies.cc:262:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 262 | S2Point p0_ref = S2::RefDir(p0); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_get_snapped_winding_delta.cc -o s2/s2builderutil_get_snapped_winding_delta.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_get_snapped_winding_delta.h:24, from s2/s2builderutil_get_snapped_winding_delta.cc:50: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'int s2builderutil::GetSnappedWindingDelta(const S2Point&, VertexId, absl::debian7::Span, const InputEdgeFilter&, const S2Builder&, const Graph&, S2Error*)': s2/s2builderutil_get_snapped_winding_delta.cc:282:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 282 | S2Point z = S2::Ortho(ref_out); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'S2Point s2builderutil::{anonymous}::GetConnector(const S2Point&, const S2Point&, const S2Point&)': s2/s2builderutil_get_snapped_winding_delta.cc:176:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point GetConnector(const S2Point& b0, const S2Point& b1, | ^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:183:74: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2builderutil_get_snapped_winding_delta.cc:183:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:183:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:184:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | return (x.DotProd(S2::Interpolate(b0, b1, 0.5)) >= 0) ? x : -x; | ^ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'int s2builderutil::GetSnappedWindingDelta(const S2Point&, VertexId, absl::debian7::Span, const InputEdgeFilter&, const S2Builder&, const Graph&, S2Error*)': s2/s2builderutil_get_snapped_winding_delta.cc:335:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 335 | if (za.DotProd(ref_out) > 0) za = -za; | ^~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'S2Point s2builderutil::{anonymous}::GetConnector(const S2Point&, const S2Point&, const S2Point&)': s2/s2builderutil_get_snapped_winding_delta.cc:183:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:176:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point GetConnector(const S2Point& b0, const S2Point& b1, | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_lax_polygon_layer.cc -o s2/s2builderutil_lax_polygon_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_lax_polygon_layer.h:42, from s2/s2builderutil_lax_polygon_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_lax_polygon_layer.h:43: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_lax_polyline_layer.cc -o s2/s2builderutil_lax_polyline_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_lax_polyline_layer.h:27, from s2/s2builderutil_lax_polyline_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_lax_polyline_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2point_vector_layer.cc -o s2/s2builderutil_s2point_vector_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2point_vector_layer.h:27, from s2/s2builderutil_s2point_vector_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2point_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polygon_layer.cc -o s2/s2builderutil_s2polygon_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polygon_layer.h:42, from s2/s2builderutil_s2polygon_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polygon_layer.h:43: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2builderutil_s2polygon_layer.h:47: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polyline_layer.cc -o s2/s2builderutil_s2polyline_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polyline_layer.h:27, from s2/s2builderutil_s2polyline_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polyline_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polyline_vector_layer.cc -o s2/s2builderutil_s2polyline_vector_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polyline_vector_layer.h:27, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polyline_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_snap_functions.cc -o s2/s2builderutil_snap_functions.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2builderutil_snap_functions.h:23, from s2/s2builderutil_snap_functions.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_snap_functions.h:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IdentitySnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point IdentitySnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IntLatLngSnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:345:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 345 | S2Point IntLatLngSnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc:350:31: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 350 | return S2LatLng::FromDegrees(lat * to_degrees_, lng * to_degrees_).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc:350:78: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 350 | return S2LatLng::FromDegrees(lat * to_degrees_, lng * to_degrees_).ToPoint(); | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': ../src/s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IdentitySnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point IdentitySnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cap.cc -o s2/s2cap.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from s2/s2cap.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2cap.cc:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from s2/s2cap.cc:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2cell.h:27, from s2/s2cap.cc:32: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2edge_crossings.h:43, from ../src/s2/s2edge_distances.h:31, from s2/s2cap.cc:35: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cap.cc: In member function 'S2Point S2Cap::GetCentroid() const': s2/s2cap.cc:50:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point S2Cap::GetCentroid() const { | ^~~~~ s2/s2cap.cc:60:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | return r * GetArea() * center_; | ~~~~~~~~~~~~~~^~~~~~~~~ s2/s2cap.cc: In member function 'S2Cap S2Cap::Complement() const': s2/s2cap.cc:68:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return S2Cap(-center_, S1ChordAngle::FromLength2(4 - radius_.length2())); | ^~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/s2/s2cap.h:31: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cap.cc: In member function 'S2Cap S2Cap::Union(const S2Cap&) const': s2/s2cap.cc:135:73: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 135 | 0.5 * (distance - this_radius + other_radius)); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2cap.cc: In member function 'bool S2Cap::Intersects(const S2Cell&, const S2Point*) const': s2/s2cap.cc:244:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S2Point edge = cell.GetEdgeRaw(k); | ^ s2/s2cap.cc:260:43: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | Vector3_d dir = edge.CrossProd(center_); | ^ s2/s2cap.cc: In member function 'virtual bool S2Cap::Contains(const S2Cell&) const': s2/s2cap.cc:274:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 274 | vertices[k] = cell.GetVertex(k); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2cap.cc: In member function 'virtual bool S2Cap::MayIntersect(const S2Cell&) const': s2/s2cap.cc:287:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 287 | vertices[k] = cell.GetVertex(k); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2cap.cc: In member function 'S2Cap S2Cap::Complement() const': s2/s2cap.cc:68:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return S2Cap(-center_, S1ChordAngle::FromLength2(4 - radius_.length2())); | ^~~~~~~ s2/s2cap.cc: In member function 'S2Point S2Cap::GetCentroid() const': s2/s2cap.cc:60:26: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | return r * GetArea() * center_; | ^~~~~~~ s2/s2cap.cc:50:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point S2Cap::GetCentroid() const { | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_id.cc -o s2/s2cell_id.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/s2cell_id.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2cell_id.cc:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2cell_id.cc: In member function 'S2Point S2CellId::ToPointRaw() const': s2/s2cell_id.cc:379:32: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 379 | S2Point S2CellId::ToPointRaw() const { | ^~~~~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:31: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:33: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/s2cell_id.cc: In constructor 'S2CellId::S2CellId(const S2LatLng&)': s2/s2cell_id.cc:319:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | : S2CellId(ll.ToPoint()) { | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~~~~ s2/s2cell_id.cc:386:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 386 | return S2LatLng(ToPointRaw()); | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^~~~~~~~ s2/s2cell_id.cc: In member function 'R2Rect S2CellId::GetBoundST() const': s2/s2cell_id.cc:416:44: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~^~ s2/s2cell_id.cc:416:67: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ^ s2/s2cell_id.cc: In static member function 'static S2CellId S2CellId::FromFaceIJWrap(int, int, int)': s2/s2cell_id.cc:494:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 494 | face = S2::XYZtoFaceUV(S2::FaceUVtoXYZ(face, u, v), &u, &v); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2cell_id.cc: In constructor 'S2CellId::S2CellId(const S2LatLng&)': s2/s2cell_id.cc:318:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 318 | S2CellId::S2CellId(const S2LatLng& ll) | ^~~~~~~~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~~~~ s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:386:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 386 | return S2LatLng(ToPointRaw()); | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^~~~~~~~ s2/s2cell_id.cc: In member function 'R2Rect S2CellId::GetBoundST() const': s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 414 | R2Rect S2CellId::GetBoundST() const { | ^~~~~~~~ s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:416:44: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~^~ s2/s2cell_id.cc:416:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell_id.cc: In static member function 'static S2CellId S2CellId::FromFaceIJWrap(int, int, int)': s2/s2cell_id.cc:494:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 494 | face = S2::XYZtoFaceUV(S2::FaceUVtoXYZ(face, u, v), &u, &v); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_index.cc -o s2/s2cell_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2cell_index.h:31, from s2/s2cell_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_union.cc -o s2/s2cell_union.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_union.h:37, from s2/s2cell_union.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2cell_union.h:38: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from s2/s2cell_union.cc:35: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2cell_union.cc:37: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cell_union.cc: In member function 'virtual S2Cap S2CellUnion::GetCapBound() const': s2/s2cell_union.cc:238:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ~~~~~~~~~~^~ s2/s2cell_union.cc:238:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ~~~~~^~~~~~~~~~~~~~ s2/s2cell_union.cc:243:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | centroid = centroid.Normalize(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2cell_union.cc: In member function 'virtual S2Cap S2CellUnion::GetCapBound() const': s2/s2cell_union.cc:238:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ^ s2/s2cell_union.cc:243:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | centroid = centroid.Normalize(); | ~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell.cc -o s2/s2cell.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2cell.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2cell.cc:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43, from ../src/s2/s2edge_crosser.h:23, from s2/s2cell.cc:36: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from s2/s2cell.cc:37: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2cell.cc: In function 'R2Rect OppositeUV(const R2Rect&)': s2/s2cell.cc:530:49: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 530 | inline static R2Rect OppositeUV(const R2Rect& uv) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cell.cc: In constructor 'S2Cell::S2Cell(S2CellId)': s2/s2cell.cc:66:7: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | uv_ = S2CellId::IJLevelToBoundUV(ij, level_); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetEdgeRaw(int) const': s2/s2cell.cc:69:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point S2Cell::GetEdgeRaw(int k) const { | ^~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc: In member function 'bool S2Cell::Subdivide(S2Cell*) const': s2/s2cell.cc:85:36: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 85 | R2Point uv_mid = id_.GetCenterUV(); | ^ s2/s2cell.cc: In member function 'S2Point S2Cell::GetCenterRaw() const': s2/s2cell.cc:109:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | S2Point S2Cell::GetCenterRaw() const { | ^~~~~~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:124:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ^~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'double S2Cell::ExactArea() const': s2/s2cell.cc:141:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 141 | S2Point v0 = GetVertex(0); | ^ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:162:56: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~^~ s2/s2cell.cc:162:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetCenter() const': ../src/s2/r2rect.h:217:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | inline R2Point R2Rect::GetCenter() const { | ^~~~~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:195:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | int i = S2::GetUAxis(face_)[2] == 0 ? (u < 0) : (u > 0); | ~~~~~~~~~~~~^~~~~~~ s2/s2cell.cc:198:69: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | GetLatitude(1-i, 1-j)); | ^ s2/s2cell.cc:200:68: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 200 | GetLongitude(1-i, j)); | ^ s2/s2cell.cc:219:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | Expanded(S2LatLng::FromRadians(2 * DBL_EPSILON, 2 * DBL_EPSILON)). | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:244:44: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2cell.cc:266:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | return bound.Expanded(S2LatLng::FromRadians(DBL_EPSILON, 0)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::GetUAxis(int)': ../src/s2/s2coords.h:445:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 445 | inline S2Point GetUAxis(int face) { | ^~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'double S2Cell::GetLongitude(int, int) const': s2/s2cell.cc:176:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point p = S2::FaceUVtoXYZ(face_, uv_[0][i], uv_[1][j]); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:197:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 197 | inline constexpr S2LatLng S2LatLng::FromRadians(double lat_radians, | ^~~~~~~~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:300:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 300 | return uv_.Expanded(DBL_EPSILON).Contains(uv); | ~~~~~~~~~~~~^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetDistanceInternal(const S2Point&, bool) const': s2/s2cell.cc:366:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 366 | S2Point target = S2::FaceXYZtoUVW(face_, target_xyz); | ^ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Cell&) const': s2/s2cell.cc:538:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 538 | uv_.Intersects(OppositeUV(target.uv_))) { | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2cell.cc:551:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 551 | va[i] = GetVertex(i); | ~~~~~~^~~~~~~~~~~~~~ s2/s2cell.cc: In function 'R2Rect OppositeUV(const R2Rect&)': s2/s2cell.cc:530:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 530 | inline static R2Rect OppositeUV(const R2Rect& uv) { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:300:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 300 | return uv_.Expanded(DBL_EPSILON).Contains(uv); | ~~~~~~~~~~~~^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:195:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | int i = S2::GetUAxis(face_)[2] == 0 ? (u < 0) : (u > 0); | ~~~~~~~~~~~~^~~~~~~ s2/s2cell.cc:197:47: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 197 | R1Interval lat = R1Interval::FromPointPair(GetLatitude(i, j), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 198 | GetLatitude(1-i, 1-j)); | ~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:219:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | Expanded(S2LatLng::FromRadians(2 * DBL_EPSILON, 2 * DBL_EPSILON)). | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:244:44: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2cell.cc:266:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | return bound.Expanded(S2LatLng::FromRadians(DBL_EPSILON, 0)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:162:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:162:56: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~^~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Point&) const': s2/s2cell.cc:438:50: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 438 | return S1ChordAngle::Straight() - GetDistance(-target); | ^~~~~~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:277:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 277 | bool S2Cell::Contains(const S2Point& p) const { | ^~~~~~ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:165:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 165 | cap.AddPoint(GetVertex(k)); | ~~~~~~~~~^~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:180:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 180 | S2LatLngRect S2Cell::GetRectBound() const { | ^~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ s2/s2cell.cc: In constructor 'S2Cell::S2Cell(S2CellId)': s2/s2cell.cc:60:1: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | S2Cell::S2Cell(S2CellId id) { | ^~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetEdgeRaw(int) const': s2/s2cell.cc:69:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point S2Cell::GetEdgeRaw(int k) const { | ^~~~~~ s2/s2cell.cc: In member function 'bool S2Cell::Subdivide(S2Cell*) const': s2/s2cell.cc:78:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | bool S2Cell::Subdivide(S2Cell children[4]) const { | ^~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetCenterRaw() const': s2/s2cell.cc:109:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | S2Point S2Cell::GetCenterRaw() const { | ^~~~~~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'S2Point S2Cell::GetVertex(int) const', inlined from 'double S2Cell::ApproxArea() const' at s2/s2cell.cc:124:38: ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Cell&) const': s2/s2cell.cc:538:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 538 | uv_.Intersects(OppositeUV(target.uv_))) { | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2cell.cc:552:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | vb[i] = target.GetVertex(i); | ~~~~~~~~~~~~~~~~^~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2centroids.cc -o s2/s2centroids.o In file included from ../src/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:27:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 27 | S2Point PlanarCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~~~ s2/s2centroids.cc:28:17: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~~~~~~~~~~ s2/s2centroids.cc:28:26: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~ s2/s2centroids.cc:28:17: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:31:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | S2Point TrueCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~ s2/s2centroids.cc:68:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return 0.5 * S2Point(y.CrossProd(z).DotProd(r), | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | z.CrossProd(x).DotProd(r), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 | x.CrossProd(y).DotProd(r)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&)': s2/s2centroids.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point TrueCentroid(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~ s2/s2centroids.cc:82:28: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 82 | return sqrt(sin2 / cos2) * vsum; // Length == 2*sin(theta) | ~~~~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:28:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ^ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:70:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | x.CrossProd(y).DotProd(r)); | ^ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&)': s2/s2centroids.cc:78:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | S2Point vsum = a + b; // Length == 2*cos(theta) | ^ s2/s2centroids.cc:82:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 82 | return sqrt(sin2 / cos2) * vsum; // Length == 2*sin(theta) | ^~~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:27:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 27 | S2Point PlanarCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)' at s2/s2centroids.cc:41:27: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:31:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | S2Point TrueCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_cell_query.cc -o s2/s2closest_cell_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_cell_query.h:26, from s2/s2closest_cell_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_cell_query.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_cell_query_base.h:43, from ../src/s2/s2closest_cell_query.h:32: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36, from ../src/s2/s2closest_cell_query.h:33: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_edge_query.cc -o s2/s2closest_edge_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_edge_query.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_point_query.cc -o s2/s2closest_point_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_point_query.h:26, from s2/s2closest_point_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_point_query.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_point_query_base.h:36, from ../src/s2/s2closest_point_query.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_point_query_base.h:37: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2contains_vertex_query.cc -o s2/s2contains_vertex_query.o In file included from ../src/s2/s2contains_vertex_query.h:22, from s2/s2contains_vertex_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2contains_vertex_query.cc: In member function 'int S2ContainsVertexQuery::ContainsSign()': s2/s2contains_vertex_query.cc:39:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 39 | S2Point reference_dir = S2::RefDir(target_); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2convex_hull_query.cc -o s2/s2convex_hull_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/15/bits/stl_algobase.h:71, from /usr/include/c++/15/bits/stl_uninitialized.h:63, from /usr/include/c++/15/memory:71, from ../src/s2/s2convex_hull_query.h:21: /usr/include/c++/15/bits/predefined_ops.h: In instantiation of 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:4874:70: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2convex_hull_query.cc:130:12: required from here 130 | std::sort(points_.begin(), points_.end(), OrderedCcwAround(origin)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:164:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 164 | __iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In instantiation of '__gnu_cxx::__ops::_Val_comp_iter<_Compare> __gnu_cxx::__ops::__val_comp_iter(_Iter_comp_iter<_Compare>) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:1787:38: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1818:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1818 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1909:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1909 | std::__final_insertion_sort(__first, __last, __comp); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:4874:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2convex_hull_query.cc:130:12: required from here 130 | std::sort(points_.begin(), points_.end(), OrderedCcwAround(origin)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:252:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | __val_comp_iter(_Iter_comp_iter<_Compare> __comp) | ^~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()': s2/s2convex_hull_query.cc:129:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point origin = cap.center().Ortho(); | ~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::Ortho() const [with T = double]': ../src/s2/util/math/vector.h:477:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 477 | Vector3 Ortho() const { | ^~~~~ In file included from /usr/include/c++/15/algorithm:63, from ../src/s2/s2cap.h:21: /usr/include/c++/15/bits/stl_algo.h: In function 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:4862:5: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 4862 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | ^~~~ /usr/include/c++/15/bits/stl_algo.h:4874:18: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In function 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:164:5: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 164 | __iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:165:61: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 165 | { return _Iter_comp_iter<_Compare>(_GLIBCXX_MOVE(__comp)); } | ^ /usr/include/c++/15/bits/predefined_ops.h: In constructor 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::_Iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:150:7: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 150 | _Iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1901:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1901 | __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | ^~~~~~ In file included from /usr/include/c++/15/bits/stl_algo.h:61: /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | ^~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_val]': /usr/include/c++/15/bits/stl_heap.h:135:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 135 | __push_heap(_RandomAccessIterator __first, | ^~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1852:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1852 | __unguarded_partition_pivot(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__unguarded_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1799:39: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1799 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1800 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In function '__gnu_cxx::__ops::_Val_comp_iter<_Compare> __gnu_cxx::__ops::__val_comp_iter(_Iter_comp_iter<_Compare>) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:252:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | __val_comp_iter(_Iter_comp_iter<_Compare> __comp) | ^~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:253:60: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 253 | { return _Val_comp_iter<_Compare>(_GLIBCXX_MOVE(__comp)); } | ^ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1771:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1771 | __insertion_sort(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1786:43: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1786 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSinglePointLoop(const S2Point&)': s2/s2convex_hull_query.cc:187:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 187 | S2Point d1 = p.CrossProd(d0); | ~~~~~~~~~~~^~~~ s2/s2convex_hull_query.cc:190:50: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc:190:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~~~~~~^~~~ s2/s2convex_hull_query.cc:190:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~^~~~~~~~~~~~~~~ s2/s2convex_hull_query.cc:191:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ~~~~~~~~^~~~ s2/s2convex_hull_query.cc:191:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ~~~^~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:207:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | if (a == -b) return make_unique(S2Loop::kFull()); | ^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSinglePointLoop(const S2Point&)': s2/s2convex_hull_query.cc:190:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ^~ s2/s2convex_hull_query.cc:191:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ^~ s2/s2convex_hull_query.cc:191:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:207:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | if (a == -b) return make_unique(S2Loop::kFull()); | ^ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Val_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1751:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1751 | __unguarded_linear_insert(_RandomAccessIterator __last, | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1771:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1771 | __insertion_sort(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1786:43: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1786 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | ^~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1594:23, inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1869:25, inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1885:27: /usr/include/c++/15/bits/stl_heap.h:356:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | std::__adjust_heap(__first, __parent, __len, _GLIBCXX_MOVE(__value), | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 357 | __comp); | ~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:356:29: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__sort_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_heap.h:425:19, inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1870:23, inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1885:27: /usr/include/c++/15/bits/stl_heap.h:264:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 264 | std::__adjust_heap(__first, _DistanceType(0), | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _DistanceType(__last - __first), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | _GLIBCXX_MOVE(__value), __comp); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:264:25: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:195:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point& a, | ^~~~~~~~~~~~~~~~~ In member function 'Vector3 Vector3::Ortho() const [with T = double]', inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:129:38: ../src/s2/util/math/vector.h:482:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 482 | return CrossProd(temp).Normalize(); | ~~~~~~~~~^~~~~~ In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1906:32: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1906 | std::__introsort_loop(__first, __last, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 1907 | std::__lg(__last - __first) * 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1908 | __comp); | ~~~~~~~ In function 'void std::__unguarded_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1819:35, inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1909:31, inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1799:39: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1799 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1800 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1909:31, inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1823:30: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1823 | std::__insertion_sort(__first, __last, __comp); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2coords.cc -o s2/s2coords.o In file included from ../src/s2/s2coords.h:108, from s2/s2coords.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2coords.h:106: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2coords.cc: In function 'S2Point S2::FaceXYZtoUVW(int, const S2Point&)': s2/s2coords.cc:104:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | S2Point FaceXYZtoUVW(int face, const S2Point& p) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2coords.cc: In function 'S2Point S2::FaceSiTitoXYZ(int, unsigned int, unsigned int)': s2/s2coords.cc:142:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 142 | S2Point FaceSiTitoXYZ(int face, unsigned int si, unsigned int ti) { | ^~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2coords.cc: In function 'S2Point S2::FaceXYZtoUVW(int, const S2Point&)': s2/s2coords.cc:104:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | S2Point FaceXYZtoUVW(int face, const S2Point& p) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2crossing_edge_query.cc -o s2/s2crossing_edge_query.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2crossing_edge_query.h:30, from s2/s2crossing_edge_query.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23, from ../src/s2/s2crossing_edge_query.h:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2crossing_edge_query.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2crossing_edge_query.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const CellVisitor&)': s2/s2crossing_edge_query.cc:217:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const S2PaddedCell&, const CellVisitor&)': s2/s2crossing_edge_query.cc:254:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ^ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2PaddedCell&, const R2Rect&)': s2/s2crossing_edge_query.cc:285:38: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 285 | R2Point center = pcell.middle().lo(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:190:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | R1Interval::FromPointPair(p1.y(), p2.y())); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2PaddedCell&, const R2Rect&)': s2/s2crossing_edge_query.cc:285:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 285 | R2Point center = pcell.middle().lo(); | ~~~~~~~~~~~~~~~~~^~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const S2PaddedCell&, const CellVisitor&)': s2/s2crossing_edge_query.cc:254:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2debug.cc -o s2/s2debug.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2earth.cc -o s2/s2earth.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2earth.h:24, from s2/s2earth.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2earth.h:26: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:18: required from 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double; FloatType = double]' 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ^~~~~~~~~ ../src/s2/s2earth.h:241:33: required from here 241 | return RadiansToMeters(a.Angle(b)); | ~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_clipping.cc -o s2/s2edge_clipping.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_clipping.h:38, from s2/s2edge_clipping.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_clipping.h:39: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from s2/s2edge_clipping.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:126:58: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R2Point GetExitPoint(const S2PointUVW& n, int axis) { | ^ s2/s2edge_clipping.cc: In function 'R2Rect S2::GetClippedEdgeBound(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:418:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | const R2Rect& clip) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_clipping.h:37: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector2 Vector2::Ortho() const [with T = double]': s2/s2edge_clipping.cc:373:28: required from here 373 | R2Point n = (b - a).Ortho(); | ~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:408:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector2 Ortho() const { return Vector2(-c_[1], c_[0]); } | ^~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'void S2::GetFaceSegments(const S2Point&, const S2Point&, FaceSegmentVector*)': s2/s2edge_clipping.cc:230:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 230 | S2Point ab = S2::RobustCrossProd(a, b); | ^ s2/s2edge_clipping.cc:242:15: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | segment.b = GetExitPoint(n, exit_axis); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:248:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 248 | S2Point exit_xyz = S2::FaceUVtoXYZ(face, segment.b); | ^ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'int S2::MoveOriginToValidFace(int, const S2Point&, const S2Point&, R2Point*)': s2/s2edge_clipping.cc:155:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 155 | S2PointUVW n = S2::FaceXYZtoUVW(face, ab); | ^ s2/s2edge_clipping.cc:159:54: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | S2Point exit = S2::FaceUVtoXYZ(face, GetExitPoint(n, GetExitAxis(n))); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:159:73: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | S2Point exit = S2::FaceUVtoXYZ(face, GetExitPoint(n, GetExitAxis(n))); | ^ s2/s2edge_clipping.cc:160:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:160:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~^~ s2/s2edge_clipping.cc:160:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:161:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 161 | if ((exit - a).DotProd(a_tangent) >= -kFaceClipErrorRadians) { | ~~~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:126:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R2Point GetExitPoint(const S2PointUVW& n, int axis) { | ^~~~~~~~~~~~ In file included from s2/s2edge_clipping.cc:27: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::ClipToPaddedFace(const S2Point&, const S2Point&, int, double, R2Point*, R2Point*)': s2/s2edge_clipping.cc:352:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 352 | S2PointUVW a_tangent = n.CrossProd(a); | ~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:356:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | int a_score = ClipDestination(b, a, -scaled_n, b_tangent, a_tangent, | ^~~~~~~~~ s2/s2edge_clipping.cc: In function 'int S2::ClipDestination(const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, double, R2Point*)': s2/s2edge_clipping.cc:284:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 284 | *uv = scale_uv * GetExitPoint(scaled_n, GetExitAxis(scaled_n)); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:307:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | if ((p - a).DotProd(a_tangent) < 0) { | ~~~^~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:365:44: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 365 | R2Rect bound = R2Rect::FromPointPair(a, b); | ^ s2/s2edge_clipping.cc:373:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point n = (b - a).Ortho(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:188:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | inline R2Rect R2Rect::FromPointPair(const R2Point& p1, const R2Point& p2) { | ^~~~~~ ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector2 Vector2::Ortho() const [with T = double]': ../src/s2/util/math/vector.h:408:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector2 Ortho() const { return Vector2(-c_[1], c_[0]); } | ^~~~~ s2/s2edge_clipping.cc: In function 'R2Rect S2::GetClippedEdgeBound(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:417:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 417 | R2Rect GetClippedEdgeBound(const R2Point& a, const R2Point& b, | ^~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/s2edge_clipping.cc: In function 'bool S2::ClipEdge(const R2Point&, const R2Point&, const R2Rect&, R2Point*, R2Point*)': s2/s2edge_clipping.cc:441:44: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 441 | R2Rect bound = R2Rect::FromPointPair(a, b); | ^ s2/s2edge_clipping.cc:444:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 444 | *a_clipped = bound.GetVertex(ai, aj); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:451:1: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 451 | } // namespace S2 | ^ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2edge_clipping.cc: In function 'int S2::MoveOriginToValidFace(int, const S2Point&, const S2Point&, R2Point*)': s2/s2edge_clipping.cc:161:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 161 | if ((exit - a).DotProd(a_tangent) >= -kFaceClipErrorRadians) { | ^ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:373:28: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point n = (b - a).Ortho(); | ~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2edge_clipping.cc: In function 'int S2::ClipDestination(const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, double, R2Point*)': s2/s2edge_clipping.cc:307:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | if ((p - a).DotProd(a_tangent) < 0) { | ^ s2/s2edge_clipping.cc:284:64: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 284 | *uv = scale_uv * GetExitPoint(scaled_n, GetExitAxis(scaled_n)); | ^ s2/s2edge_clipping.cc:309:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 309 | } else if ((p - b).DotProd(b_tangent) < 0) { | ^ s2/s2edge_clipping.cc: In function 'void S2::GetFaceSegments(const S2Point&, const S2Point&, FaceSegmentVector*)': s2/s2edge_clipping.cc:242:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | segment.b = GetExitPoint(n, exit_axis); | ~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2edge_clipping.cc:205:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 205 | void GetFaceSegments(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:365:39: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 365 | R2Rect bound = R2Rect::FromPointPair(a, b); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_crosser.cc -o s2/s2edge_crosser.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_crossings.h:40: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_crossings.h:38: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2edge_crosser.h: In constructor 'S2EdgeCrosserBase::S2EdgeCrosserBase(ArgType, ArgType) [with PointRep = S2::internal::S2Point_PointerRep]': ../src/s2/s2edge_crosser.h:306:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 306 | : a_(a), b_(b), a_cross_b_(a_->CrossProd(*b_)), have_tangents_(false), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_PointerRep]': s2/s2edge_crosser.cc:55:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2Point norm = S2::RobustCrossProd(*a_, *b_); | ^~~~ s2/s2edge_crosser.cc:56:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | a_tangent_ = a_->CrossProd(norm); | ~~~~~~~~~~~~~^~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal(PointRep) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:29:5: note: parameter passing for argument of type 'S2::internal::S2Point_ValueRep' when C++17 is enabled changed to match C++14 in GCC 10.1 29 | int S2EdgeCrosserBase::CrossingSignInternal(PointRep d) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:55:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2Point norm = S2::RobustCrossProd(*a_, *b_); | ^~~~ s2/s2edge_crosser.cc:56:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | a_tangent_ = a_->CrossProd(norm); | ~~~~~~~~~~~~~^~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_PointerRep]': s2/s2edge_crosser.cc:40:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | inline int S2EdgeCrosserBase::CrossingSignInternal2( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2edge_crosser.h: In constructor 'S2EdgeCrosserBase::S2EdgeCrosserBase(ArgType, ArgType) [with PointRep = S2::internal::S2Point_ValueRep]': ../src/s2/s2edge_crosser.h:306:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 306 | : a_(a), b_(b), a_cross_b_(a_->CrossProd(*b_)), have_tangents_(false), | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:40:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | inline int S2EdgeCrosserBase::CrossingSignInternal2( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal(PointRep) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:29:5: note: parameter passing for argument of type 'S2::internal::S2Point_ValueRep' when C++17 is enabled changed to match C++14 in GCC 10.1 29 | int S2EdgeCrosserBase::CrossingSignInternal(PointRep d) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_crossings.cc -o s2/s2edge_crossings.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2edge_crossings.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_crossings.h:40: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^ s2/s2edge_crossings.cc: In function 'Vector3_d S2::SymbolicCrossProdSorted(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:170:76: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 170 | static Vector3_d SymbolicCrossProdSorted(const S2Point& a, const S2Point& b) { | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::ToS2Point(const Vector3_xf&)': s2/s2edge_crossings.cc:657:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 657 | inline static S2Point ToS2Point(const Vector3_xf& xf) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_crossings.h:38: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/s2point.h: In instantiation of 'static S2Point S2Point::Cast(const Vector3&) [with T = long double]': s2/s2edge_crossings.cc:492:28: required from here 492 | *result = S2Point::Cast(result_ld); | ~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2point.h:138:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | static S2Point Cast(const Vector3& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const long double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]': s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = int; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:295:42: required from here 295 | return ldexp(2, -1 - ilogb(p_max)) * p; | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = long double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = int; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const long double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = long double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:123:3: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ^ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:3: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:159:48: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | if (kHasLongDouble && GetStableCrossProd(ToLD(a), ToLD(b), &result_ld)) { | ~~~~^~~ s2/s2edge_crossings.cc:160:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ^ s2/s2edge_crossings.cc:160:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc:163:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ^ s2/s2edge_crossings.cc:163:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:26: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^~~~ ../src/s2/util/math/vector.h: In static member function 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:370:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 370 | if (a == c) return (b == d) || s2pred::OrderedCCW(S2::RefDir(a), d, b, a); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:679:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:679:48: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~^~~~~~ s2/s2edge_crossings.cc:679:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:693:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 693 | S2Point a_norm = ToS2Point(a_norm_xf); | ^ s2/s2edge_crossings.cc:695:61: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 695 | if (a_norm == S2Point(0, 0, 0)) a_norm = SymbolicCrossProd(a0, a1); | ~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2edge_crossings.cc:705:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 705 | return x; | ^ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::ToS2Point(const Vector3_xf&)': s2/s2edge_crossings.cc:657:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 657 | inline static S2Point ToS2Point(const Vector3_xf& xf) { | ^~~~~~~~~ s2/s2edge_crossings.cc:658:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 658 | return NormalizableFromExact(xf).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_crossings.cc: In function 'S2Point S2::GetIntersection(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:722:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 722 | S2Point GetIntersection(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStable(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:636:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 636 | T a_len2 = (a1 - a0).Norm2(); | ~~~~^~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableLD(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S2Point*)': s2/s2edge_crossings.cc:649:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 649 | if (GetIntersectionStable(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~^~~~ s2/s2edge_crossings.cc:651:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 651 | *result = S2Point::Cast(result_ld); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStable(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:636:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 636 | T a_len2 = (a1 - a0).Norm2(); | ~~~~^~~~~ ../src/s2/s2point.h: In static member function 'static S2Point S2Point::Cast(const Vector3&) [with T = long double]': ../src/s2/s2point.h:138:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | static S2Point Cast(const Vector3& b) { | ^~~~ ../src/s2/s2point.h:139:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 139 | return Base::Cast(b); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~^~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:370:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 370 | if (a == c) return (b == d) || s2pred::OrderedCCW(S2::RefDir(a), d, b, a); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::EnsureNormalizable(const Vector3_d&)': s2/s2edge_crossings.cc:788:1: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 788 | } // namespace S2 | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:159:57: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | if (kHasLongDouble && GetStableCrossProd(ToLD(a), ToLD(b), &result_ld)) { | ~~~~^~~ s2/s2edge_crossings.cc:160:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'T S2::GetProjection(const Vector3&, const Vector3&, T, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2edge_crossings.cc:513:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 513 | Vector3 x1 = x - a1; | ~~^~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableLD(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S2Point*)': s2/s2edge_crossings.cc:651:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 651 | *result = S2Point::Cast(result_ld); | ~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::NormalizableFromExact(const Vector3_xf&)': s2/s2edge_crossings.cc:305:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 305 | static Vector3_d NormalizableFromExact(const Vector3_xf& xf) { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableSorted(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:552:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | Vector3 a_norm = (a0 - a1).CrossProd(a0 + a1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableSorted(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:552:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | Vector3 a_norm = (a0 - a1).CrossProd(a0 + a1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::internal::SymbolicCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:327:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 327 | Vector3_d SymbolicCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:358:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 358 | bool VertexCrossing(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::internal::ExactCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:336:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 336 | Vector3_d ExactCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~ In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]', inlined from 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)' at s2/s2edge_crossings.cc:159:43: s2/s2edge_crossings.cc:123:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:163:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_crossings.cc:155:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 155 | return Ortho(a); | ~~~~~^~~ s2/s2edge_crossings.cc: In function 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:666:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 666 | S2Point GetIntersectionExact(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:666:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'S2Point S2::ToS2Point(const Vector3_xf&)', inlined from 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)' at s2/s2edge_crossings.cc:679:48: s2/s2edge_crossings.cc:658:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 658 | return NormalizableFromExact(xf).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~^~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::GetIntersection(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:722:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 722 | S2Point GetIntersection(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_distances.cc -o s2/s2edge_distances.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_distances.h:29, from s2/s2edge_distances.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_distances.h:31: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:46:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc:50:65: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:50:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:50:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:51:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 51 | return GetPointOnRay(a, dir, r); | ^ ../src/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Normalize() const [with VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:187:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 187 | D Normalize() const { | ^~~~~~~~~ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:257:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | inline S2Point GetPointOnRay(const S2Point& origin, const S2Point& dir, | ^~~~~~~~~~~~~ ../src/s2/s2edge_distances.h:272:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:54:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc:56:65: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:56:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:56:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:57:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | return GetPointOnRay(a, dir, r); | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1Angle)': ../src/s2/s2edge_distances.h:283:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointToLeft(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:60:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | S2Point GetPointToLeft(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointToLeft(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:64:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 64 | S2Point GetPointToLeft(const S2Point& a, const S2Point& b, S1ChordAngle r) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = true]': s2/s2edge_distances.cc:138:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | double ab2 = (a - b).Norm2(); | ~~~^~~~ s2/s2edge_distances.cc:175:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 175 | S2Point cx = c.CrossProd(x); | ~~~~~~~~~~~^~~ s2/s2edge_distances.cc:176:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | if ((a - x).DotProd(cx) >= 0 || (b - x).DotProd(cx) <= 0) { | ~~~^~~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = false]': s2/s2edge_distances.cc:175:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 175 | S2Point cx = c.CrossProd(x); | ~~~~~~~~~~~^~~ s2/s2edge_distances.cc:176:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | if ((a - x).DotProd(cx) >= 0 || (b - x).DotProd(cx) <= 0) { | ~~~^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::UpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle*)': s2/s2edge_distances.cc:252:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | double xa2 = (x - a).Norm2(), xb2 = (x - b).Norm2(); | ~~~^~~~ s2/s2edge_distances.cc: In function 'S2Point S2::Project(const S2Point&, const S2Point&, const S2Point&, const Vector3_d&)': s2/s2edge_distances.cc:307:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | S2Point n = a_cross_b.Normalize(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:308:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:308:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:313:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 313 | return p; | ^ s2/s2edge_distances.cc: In function 'bool S2::IsEdgeBNearEdgeA(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:474:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 474 | .Normalize(); | ~~~~~~~~~~^~ s2/s2edge_distances.cc:473:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc:473:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = true]': s2/s2edge_distances.cc:138:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | double ab2 = (a - b).Norm2(); | ~~~^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2edge_distances.cc: In function 'bool S2::UpdateMaxDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle*)': s2/s2edge_distances.cc:237:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 237 | AlwaysUpdateMinDistance(-x, a, b, &dist); | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:272:20: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:46:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:56:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:54:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::Project(const S2Point&, const S2Point&, const S2Point&, const Vector3_d&)': s2/s2edge_distances.cc:308:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:283:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S2Point Project(const S2Point& x, const S2Point& a, const S2Point& b, | ^~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::IsEdgeBNearEdgeA(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:473:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc:401:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 401 | bool IsEdgeBNearEdgeA(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_tessellator.cc -o s2/s2edge_tessellator.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_tessellator.h:24, from s2/s2edge_tessellator.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2projections.h:28, from ../src/s2/s2edge_tessellator.h:27: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_distances.h:31, from s2/s2edge_tessellator.cc:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_tessellator.h:23: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const': s2/s2edge_tessellator.cc:210:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 210 | S2Point mid1 = S2::Interpolate(a, b, t1); | ^ s2/s2edge_tessellator.cc:212:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:212:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ^ s2/s2edge_tessellator.cc:213:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const S2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:219:31: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | R2Point pa = proj_.Project(a); | ^ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:242:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | S2Point mid = (a + b).Normalize(); | ^ s2/s2edge_tessellator.cc:243:64: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | R2Point pmid = proj_.WrapDestination(pa, proj_.Project(mid)); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const R2Point&, std::vector*) const': s2/s2edge_tessellator.cc:251:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 251 | S2Point a = proj_.Unproject(pa); | ^ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector*) const': s2/s2edge_tessellator.cc:273:47: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | R2Point pb = proj_.WrapDestination(pa, pb_in); | ^ s2/s2edge_tessellator.cc:278:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 278 | S2Point mid = proj_.Unproject(pmid); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from ../src/s2/s2edge_tessellator.h:25: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:242:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | S2Point mid = (a + b).Normalize(); | ^ s2/s2edge_tessellator.cc: In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const': s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 199 | S1ChordAngle S2EdgeTessellator::EstimateMaxError( | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const', inlined from 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const' at s2/s2edge_tessellator.cc:199:14: s2/s2edge_tessellator.cc:212:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:212:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:235:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | void S2EdgeTessellator::AppendProjected(const R2Point& pa, const S2Point& a, | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector*) const': s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | void S2EdgeTessellator::AppendUnprojected( | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:273:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | R2Point pb = proj_.WrapDestination(pa, pb_in); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_tessellator.cc:278:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 278 | S2Point mid = proj_.Unproject(pmid); | ~~~~~~~~~~~~~~~^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2error.cc -o s2/s2error.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2furthest_edge_query.cc -o s2/s2furthest_edge_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2furthest_edge_query.h:29, from s2/s2furthest_edge_query.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2furthest_edge_query.h:31: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2furthest_edge_query.h:33: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2furthest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2hausdorff_distance_query.cc -o s2/s2hausdorff_distance_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2hausdorff_distance_query.h:23, from s2/s2hausdorff_distance_query.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2min_distance_targets.h:32, from ../src/s2/s2hausdorff_distance_query.h:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2min_distance_targets.h:35: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2hausdorff_distance_query.cc: In function 'void {anonymous}::UpdateMaxDistance(const S2Point&, S2ClosestEdgeQuery&, S1ChordAngle&, S2Point&, S2Point&)': s2/s2hausdorff_distance_query.cc:56:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | source_point = closest_edge_query.Project(point, closest_edge); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng_rect_bounder.cc -o s2/s2latlng_rect_bounder.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from ../src/s2/s2latlng_rect_bounder.h:21, from s2/s2latlng_rect_bounder.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2latlng_rect_bounder.h:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from s2/s2latlng_rect_bounder.cc:30: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ s2/s2latlng_rect_bounder.cc: In static member function 'static S2LatLng S2LatLngRectBounder::MaxErrorForTests()': s2/s2latlng_rect_bounder.cc:344:48: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | S2LatLng S2LatLngRectBounder::MaxErrorForTests() { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': s2/s2latlng_rect_bounder.cc:58:37: required from here 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~~~~~~~~~~~~~~~^~~~~~~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddLatLng(const S2LatLng&)': s2/s2latlng_rect_bounder.cc:42:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | AddInternal(b_latlng.ToPoint(), b_latlng); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddInternal(const S2Point&, const S2LatLng&)': s2/s2latlng_rect_bounder.cc:58:44: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:58:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~^~~~ s2/s2latlng_rect_bounder.cc:58:44: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:91:77: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 91 | b_latlng.lng().radians()); | ^ s2/s2latlng_rect_bounder.cc:105:77: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 105 | b_latlng.lat().radians()); | ^ s2/s2latlng_rect_bounder.cc:112:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | Vector3_d m = n.CrossProd(S2Point(0, 0, 1)); | ^ s2/s2latlng_rect_bounder.cc:163:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | double lat_budget_z = 0.5 * (a_ - b).Norm() * sin(max_lat); | ~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2latlng_rect_bounder.cc: In member function 'S2LatLngRect S2LatLngRectBounder::GetBound() const': s2/s2latlng_rect_bounder.cc:209:71: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 209 | const S2LatLng kExpansion = S2LatLng::FromRadians(2 * DBL_EPSILON, 0); | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ s2/s2latlng_rect_bounder.cc: In member function 'S2LatLngRect S2LatLngRectBounder::GetBound() const': s2/s2latlng_rect_bounder.cc:209:52: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 209 | const S2LatLng kExpansion = S2LatLng::FromRadians(2 * DBL_EPSILON, 0); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddInternal(const S2Point&, const S2LatLng&)': s2/s2latlng_rect_bounder.cc:58:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:99:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | lng_ab = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect_bounder.cc:104:52: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | R1Interval lat_ab = R1Interval::FromPointPair(a_latlng_.lat().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | b_latlng.lat().radians()); | ~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc:163:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | double lat_budget_z = 0.5 * (a_ - b).Norm() * sin(max_lat); | ^ s2/s2latlng_rect_bounder.cc:58:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2latlng_rect_bounder.cc:45:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | void S2LatLngRectBounder::AddInternal(const S2Point& b, | ^~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddLatLng(const S2LatLng&)': s2/s2latlng_rect_bounder.cc:41:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | void S2LatLngRectBounder::AddLatLng(const S2LatLng& b_latlng) { | ^~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc: In static member function 'static S2LatLng S2LatLngRectBounder::MaxErrorForTests()': s2/s2latlng_rect_bounder.cc:344:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | S2LatLng S2LatLngRectBounder::MaxErrorForTests() { | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng_rect.cc -o s2/s2latlng_rect.o In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2latlng_rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng_rect.h:30: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s1chord_angle.h:31, from s2/s2latlng_rect.cc:30: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2cell.h:27, from s2/s2latlng_rect.cc:33: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from s2/s2latlng_rect.cc:35: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from s2/s2latlng_rect.cc:36: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromCenterSize(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:49:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 49 | return FromPoint(center).Expanded(0.5 * size); | ~~~~^~~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator*(double, const S2LatLng&)': ../src/s2/s2latlng.h:269:21: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return S2LatLng(m * a.coords_); | ~~^~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:67:48: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return S2LatLngRect(R1Interval::FromPointPair(p1.lat().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 68 | p2.lat().radians()), | ~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:69:48: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S1Interval::FromPointPair(p1.lng().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 70 | p2.lng().radians())); | ~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:216:56: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R1Interval lat = lat_.Expanded(margin.lat().radians()); | ^ s2/s2latlng_rect.cc:217:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | S1Interval lng = lng_.Expanded(margin.lng().radians()); | ^ s2/s2latlng_rect.cc:219:39: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | return S2LatLngRect(lat.Intersection(FullLat()), lng); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::PolarClosure() const': s2/s2latlng_rect.cc:224:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | return S2LatLngRect(lat_, S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Union(const S2LatLngRect&) const': s2/s2latlng_rect.cc:230:33: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 230 | return S2LatLngRect(lat_.Union(other.lat_), | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2latlng_rect.cc:231:33: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 231 | lng_.Union(other.lng_)); | ~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Union(const R1Interval&) const': ../src/s2/r1interval.h:188:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | R1Interval Union(const R1Interval& y) const { | ^~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Intersection(const S2LatLngRect&) const': s2/s2latlng_rect.cc:236:48: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 236 | S1Interval lng = lng_.Intersection(other.lng_); | ^ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle) const': s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:254:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:262:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 262 | lat().lo() <= FullLat().lo() && lng().is_full() ? | ~~~~~~~^~ s2/s2latlng_rect.cc:283:59: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S1Interval lng_result = lng().Expanded(-max_lng_margin); | ^ s2/s2latlng_rect.cc: In member function 'virtual S2Cap S2LatLngRect::GetCapBound() const': s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:317:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~^~ s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:319:33: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:319:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:390:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:390:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:391:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 391 | S2LatLng::FromRadians(lat.hi(), lng).ToPoint()) > 0; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:391:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 391 | S2LatLng::FromRadians(lat.hi(), lng).ToPoint()) > 0; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:404:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 404 | if (z[2] < 0) z = -z; | ~~^~~~ s2/s2latlng_rect.cc:408:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector3_d y = S2::RobustCrossProd(z, S2Point(0, 0, 1)).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:409:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 409 | Vector3_d x = y.CrossProd(z); | ^ s2/s2latlng_rect.cc:432:40: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 432 | atan2(b.DotProd(y), b.DotProd(x))); | ^ s2/s2latlng_rect.cc:436:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 436 | S2Point isect = x * cos_theta + y * sin_theta; | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'bool S2LatLngRect::Intersects(const S2Cell&) const': s2/s2latlng_rect.cc:453:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 453 | if (Contains(cell.GetCenterRaw())) return true; | ~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:454:30: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~^~ s2/s2latlng_rect.cc:454:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:469:32: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:469:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:478:69: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 478 | cell_ll[i].lng().radians(), cell_ll[(i+1)&3].lng().radians()); | ^ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ^~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLngRect&) const': s2/s2latlng_rect.cc:525:74: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S1Interval lo_hi = S1Interval::FromPointPair(a.lng().lo(), b.lng().hi()); | ^ s2/s2latlng_rect.cc:540:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 540 | S2Point a_lo = S2LatLng(a.lat_lo(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLng&) const': s2/s2latlng_rect.cc:572:37: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 572 | S2Point lo = S2LatLng::FromRadians(a.lat().lo(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:572:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 572 | S2Point lo = S2LatLng::FromRadians(a.lat().lo(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:573:37: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 573 | S2Point hi = S2LatLng::FromRadians(a.lat().hi(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:573:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 573 | S2Point hi = S2LatLng::FromRadians(a.lat().hi(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc: In static member function 'static S1Angle S2LatLngRect::GetDirectedHausdorffDistance(double, const R1Interval&, const R1Interval&)': s2/s2latlng_rect.cc:638:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 638 | S2Point b_lo = S2LatLng::FromRadians(b.lo(), b_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:638:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 638 | S2Point b_lo = S2LatLng::FromRadians(b.lo(), b_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:639:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 639 | S2Point b_hi = S2LatLng::FromRadians(b.hi(), b_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:639:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 639 | S2Point b_hi = S2LatLng::FromRadians(b.hi(), b_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:646:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 646 | S2Point a_lo = S2LatLng::FromRadians(a.lo(), 0).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2latlng_rect.cc:646:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 646 | S2Point a_lo = S2LatLng::FromRadians(a.lo(), 0).ToPoint(); | ^ s2/s2latlng_rect.cc:647:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 647 | S2Point a_hi = S2LatLng::FromRadians(a.hi(), 0).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2latlng_rect.cc:647:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 647 | S2Point a_hi = S2LatLng::FromRadians(a.hi(), 0).ToPoint(); | ^ s2/s2latlng_rect.cc: In static member function 'static S2Point S2LatLngRect::GetBisectorIntersection(const R1Interval&, double)': s2/s2latlng_rect.cc:688:20: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 688 | ortho_bisector = S2LatLng::FromRadians(lat_center - M_PI_2, lng); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:694:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return S2::RobustCrossProd(ortho_lng, ortho_bisector.ToPoint()); | ^ s2/s2latlng_rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)': s2/s2latlng_rect.cc:735:29: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 735 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static S2Point S2LatLngRect::GetBisectorIntersection(const R1Interval&, double)': s2/s2latlng_rect.cc:688:43: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 688 | ortho_bisector = S2LatLng::FromRadians(lat_center - M_PI_2, lng); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::PolarClosure() const': s2/s2latlng_rect.cc:224:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | return S2LatLngRect(lat_, S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:390:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:216:33: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R1Interval lat = lat_.Expanded(margin.lat().radians()); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)': s2/s2latlng_rect.cc:735:29: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 735 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:404:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 404 | if (z[2] < 0) z = -z; | ^ ../src/s2/s2latlng.h: In function 'S2LatLng operator*(double, const S2LatLng&)': ../src/s2/s2latlng.h:269:25: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromCenterSize(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:49:43: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 49 | return FromPoint(center).Expanded(0.5 * size); | ^~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:59:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng& p1, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'virtual S2Cap S2LatLngRect::GetCapBound() const': s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 291 | S2Cap S2LatLngRect::GetCapBound() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:317:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~^~ s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:319:33: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:319:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetSize() const': s2/s2latlng_rect.cc:88:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 88 | S2LatLng S2LatLngRect::GetSize() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:215:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 215 | S2LatLngRect S2LatLngRect::Expanded(const S2LatLng& margin) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle) const': s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle distance) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:254:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:283:43: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S1Interval lng_result = lng().Expanded(-max_lng_margin); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:383:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 383 | bool S2LatLngRect::IntersectsLngEdge(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 394 | bool S2LatLngRect::IntersectsLatEdge(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:403:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 403 | Vector3_d z = S2::RobustCrossProd(a, b).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2latlng_rect.cc:430:50: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 430 | S1Interval ab_theta = S1Interval::FromPointPair( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 431 | atan2(a.DotProd(y), a.DotProd(x)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 432 | atan2(b.DotProd(y), b.DotProd(x))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLngRect&) const': s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | S1Angle S2LatLngRect::GetDistance(const S2LatLngRect& other) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:525:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S1Interval lo_hi = S1Interval::FromPointPair(a.lng().lo(), b.lng().hi()); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:540:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 540 | S2Point a_lo = S2LatLng(a.lat_lo(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'bool S2LatLngRect::Intersects(const S2Cell&) const': s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 447 | bool S2LatLngRect::Intersects(const S2Cell& cell) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:454:30: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~^~ s2/s2latlng_rect.cc:454:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:469:32: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:469:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:477:52: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 477 | S1Interval edge_lng = S1Interval::FromPointPair( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 478 | cell_ll[i].lng().radians(), cell_ll[(i+1)&3].lng().radians()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng.cc -o s2/s2latlng.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from s2/s2latlng.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~ In file included from ../src/s2/r2.h:22, from ../src/s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2latlng.cc: In member function 'S2LatLng S2LatLng::Normalized() const': s2/s2latlng.cc:55:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2LatLng S2LatLng::Normalized() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'std::string S2LatLng::ToStringInDegrees() const': s2/s2latlng.cc:106:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 106 | S2LatLng pt = Normalized(); | ^ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'std::string S2LatLng::ToStringInDegrees() const': s2/s2latlng.cc:105:8: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 105 | string S2LatLng::ToStringInDegrees() const { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_loop_shape.cc -o s2/s2lax_loop_shape.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2loop.h:34, from ../src/s2/s2lax_loop_shape.h:41, from s2/s2lax_loop_shape.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2loop.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_polygon_shape.cc -o s2/s2lax_polygon_shape.o In file included from ../src/s2/encoded_s2point_vector.h:30, from ../src/s2/s2lax_polygon_shape.h:31, from s2/s2lax_polygon_shape.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from ../src/s2/s2lax_polygon_shape.h:36: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2lax_polygon_shape.cc: In member function 'bool S2LaxPolygonShape::Init(Decoder*)': s2/s2lax_polygon_shape.cc:213:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | vertices_[i] = vertices[i]; g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_polyline_shape.cc -o s2/s2lax_polyline_shape.o In file included from ../src/s2/encoded_s2point_vector.h:30, from ../src/s2/s2lax_polyline_shape.h:28, from s2/s2lax_polyline_shape.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34, from ../src/s2/s2lax_polyline_shape.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2lax_polyline_shape.cc: In member function 'bool S2LaxPolylineShape::Init(Decoder*)': s2/s2lax_polyline_shape.cc:87:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | vertices_[i] = vertices[i]; g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2loop_measures.cc -o s2/s2loop_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2loop_measures.h:33, from s2/s2loop_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2loop_measures.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2edge_crossings.h:41: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2loop_measures.cc: In function 'S2Point S2::GetCentroid(S2PointLoopSpan)': s2/s2loop_measures.cc:265:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 265 | S2Point GetCentroid(S2PointLoopSpan loop) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/s2loop_measures.h: In instantiation of 'T S2::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&)) [with T = S2Point]': s2/s2loop_measures.cc:270:28: required from here 270 | return GetSurfaceIntegral(loop, S2::TrueCentroid); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2loop_measures.h:207:3: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | T GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:321:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ^~~~~~ ../src/s2/s2loop_measures.h:340:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 340 | origin = loop[0].CrossProd(old_origin); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2loop_measures.cc: In function 'S2Point S2::GetCentroid(S2PointLoopSpan)': s2/s2loop_measures.cc:265:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 265 | S2Point GetCentroid(S2PointLoopSpan loop) { | ^~~~~~~~~~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:340:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 340 | origin = loop[0].CrossProd(old_origin); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/s2loop_measures.h:346:21: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 346 | sum += f_tri(loop[0], old_origin, origin); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]' at ../src/s2/s2loop_measures.h:313:26: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:321:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]' at ../src/s2/s2loop_measures.h:322:31: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:257:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | void internal::GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]' at ../src/s2/s2loop_measures.h:313:26: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:321:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]' at ../src/s2/s2loop_measures.h:322:31: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:257:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | void internal::GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2loop.cc -o s2/s2loop.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2loop.h:34, from s2/s2loop.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2loop.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from s2/s2loop.cc:46: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2closest_edge_query.h:35, from s2/s2loop.cc:49: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::FindValidationErrorNoIndex(S2Error*) const': s2/s2loop.cc:234:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 234 | if (vertex(i) == -vertex(i + 1)) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2edge_crossings.h: In function 'bool S2::AngleContainsVertex(const S2Point&, const S2Point&, const S2Point&)': ../src/s2/s2edge_crossings.h:235:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | return !s2pred::OrderedCCW(S2::RefDir(b), c, a, b); | ~~~~~~~~~~^~~ s2/s2loop.cc: In member function 'void S2Loop::InitBound()': s2/s2loop.cc:312:72: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | b = S2LatLngRect(R1Interval(b.lat().lo(), M_PI_2), S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/s2loop.h: In member function 'virtual S2Shape::ReferencePoint S2Loop::Shape::GetReferencePoint() const': ../src/s2/s2loop.h:496:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | return ReferencePoint(S2::Origin(), loop_->contains_origin()); | ^ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2loop.cc: In member function 'void S2Loop::Invert()': s2/s2loop.cc:407:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | vertices_[0] = is_full() ? kEmptyVertex() : kFullVertex(); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:541:56: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 541 | R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^ s2/s2loop.cc: In member function 'bool S2Loop::BruteForceContains(const S2Point&) const': s2/s2loop.cc:599:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 599 | S2Point origin = S2::Origin(); | ^ ../src/s2/s2latlng_rect.h: In member function 'bool S2LatLngRect::is_full() const': ../src/s2/s2latlng_rect.h:423:25: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 423 | return lat_ == FullLat() && lng_.is_full(); | ~~~~~~~^~ s2/s2loop.cc: In static member function 'static std::unique_ptr S2Loop::MakeRegularLoop(const Matrix3x3_d&, S1Angle, int)': s2/s2loop.cc:1496:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1496 | vertices.push_back(S2::FromFrame(frame, p).Normalize()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2edge_crossings.h: In function 'bool S2::AngleContainsVertex(const S2Point&, const S2Point&, const S2Point&)': ../src/s2/s2edge_crossings.h:235:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | return !s2pred::OrderedCCW(S2::RefDir(b), c, a, b); | ~~~~~~~~~~^~~ ../src/s2/s2latlng_rect.h: In member function 'bool S2LatLngRect::is_full() const': ../src/s2/s2latlng_rect.h:423:25: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 423 | return lat_ == FullLat() && lng_.is_full(); | ~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2loop.cc: In member function 'bool S2Loop::FindValidationErrorNoIndex(S2Error*) const': s2/s2loop.cc:234:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 234 | if (vertex(i) == -vertex(i + 1)) { | ^ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:541:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 541 | R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BruteForceContains(const S2Point&) const': s2/s2loop.cc:599:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 599 | S2Point origin = S2::Origin(); | ~~~~~~~~~~^~ s2/s2loop.cc: In member function 'void S2Loop::InitBound()': s2/s2loop.cc:312:72: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | b = S2LatLngRect(R1Interval(b.lat().lo(), M_PI_2), S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2loop.cc: In member function 'S2Point S2Loop::GetCentroid() const': s2/s2loop.cc:430:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 430 | S2Point S2Loop::GetCentroid() const { | ^~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:526:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 526 | bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator& it, | ^~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::Contains(const MutableS2ShapeIndex::Iterator&, const S2Point&) const': s2/s2loop.cc:616:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 616 | S2Point center = it.center(); | ~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2max_distance_targets.cc -o s2/s2max_distance_targets.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2max_distance_targets.h:30: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2max_distance_targets.h:31: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2max_distance_targets.h:32: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistancePointTarget::GetCapBound()': s2/s2max_distance_targets.cc:42:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | return S2Cap(-point_, S1ChordAngle::Zero()); | ^~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/s2/s2max_distance_targets.h:28: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual bool S2MaxDistancePointTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2max_distance_targets.cc:71:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 71 | -point_, [this, &visitor](S2Shape* shape) { | ^~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistanceEdgeTarget::GetCapBound()': s2/s2max_distance_targets.cc:86:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return S2Cap(-(a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ^~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual bool S2MaxDistanceEdgeTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2max_distance_targets.cc:123:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | S2MaxDistancePointTarget target((a_ + b_).Normalize()); | ~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2max_distance_targets.cc:32: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::Contains(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:312:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | Contains(clipped, target.GetCenter())) { | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistancePointTarget::GetCapBound()': s2/s2max_distance_targets.cc:42:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | return S2Cap(-point_, S1ChordAngle::Zero()); | ^~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ In constructor 'S2MaxDistanceEdgeTarget::S2MaxDistanceEdgeTarget(const S2Point&, const S2Point&)', inlined from 'S2FurthestEdgeQuery::EdgeTarget::EdgeTarget(const S2Point&, const S2Point&)' at ../src/s2/s2furthest_edge_query.h:412:35, inlined from 'virtual bool S2MaxDistanceShapeIndexTarget::UpdateMinDistance(const S2Point&, const S2Point&, S2MaxDistance*)' at s2/s2max_distance_targets.cc:213:48: ../src/s2/s2max_distance_targets.h:236:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 236 | b_.Normalize(); | ~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2measures.cc -o s2/s2measures.o In file included from ../src/s2/s2measures.h:24, from s2/s2measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2measures.cc:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2edge_crossings.h:41: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2measures.cc: In function 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:41:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | return RobustCrossProd(a, b).Angle(RobustCrossProd(c, b)); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:52:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 52 | double angle = RobustCrossProd(a, b).Angle(RobustCrossProd(b, c)); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:154:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 154 | Vector3_d ab = RobustCrossProd(a, b); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::StableAngle(S2Point, S2Point)': s2/s2measures.cc:83:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 83 | return 2 * atan2((a - b).Norm(), (a + b).Norm()); | ^ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:41:37: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:38:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | double Angle(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:52:45: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:44:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 44 | double TurnAngle(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:157:27: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:148:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 148 | double GirardArea(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2memory_tracker.cc -o s2/s2memory_tracker.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2metrics.cc -o s2/s2metrics.o In file included from ../src/s2/s2coords.h:108, from ../src/s2/s2metrics.h:34, from s2/s2metrics.cc:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2coords.h:106: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2min_distance_targets.cc -o s2/s2min_distance_targets.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2min_distance_targets.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2min_distance_targets.h:35: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2min_distance_targets.h:30: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from s2/s2min_distance_targets.cc:33: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2min_distance_targets.cc: In member function 'virtual S2Cap S2MinDistanceEdgeTarget::GetCapBound()': s2/s2min_distance_targets.cc:75:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | return S2Cap((a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2min_distance_targets.cc: In member function 'virtual bool S2MinDistanceEdgeTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2min_distance_targets.cc:99:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2MinDistancePointTarget target((a_ + b_).Normalize()); | ~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2min_distance_targets.cc:39: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ s2/s2min_distance_targets.cc: In member function 'virtual bool S2MinDistanceCellUnionTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2min_distance_targets.cc:201:52: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 201 | S2MinDistancePointTarget target(cell_id.ToPoint()); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2min_distance_targets.cc: In member function 'virtual S2Cap S2MinDistanceEdgeTarget::GetCapBound()': s2/s2min_distance_targets.cc:75:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | return S2Cap((a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2padded_cell.cc -o s2/s2padded_cell.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2padded_cell.cc: In constructor 'S2PaddedCell::S2PaddedCell(S2CellId, double)': s2/s2padded_cell.cc:53:12: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | bound_ = S2CellId::IJLevelToBoundUV(ij, level_).Expanded(padding); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetCenter() const': s2/s2padded_cell.cc:92:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | S2Point S2PaddedCell::GetCenter() const { | ^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetEntryVertex() const': s2/s2padded_cell.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2PaddedCell::GetEntryVertex() const { | ^~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2CellId S2PaddedCell::ShrinkToFit(const R2Rect&) const': s2/s2padded_cell.cc:149:62: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 149 | R2Rect padded = rect.Expanded(padding() + 1.5 * DBL_EPSILON); | ^ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetCenter() const': s2/s2padded_cell.cc:92:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | S2Point S2PaddedCell::GetCenter() const { | ^~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2CellId S2PaddedCell::ShrinkToFit(const R2Rect&) const': s2/s2padded_cell.cc:126:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | S2CellId S2PaddedCell::ShrinkToFit(const R2Rect& rect) const { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2point_compression.cc -o s2/s2point_compression.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2point_compression.h:52, from s2/s2point_compression.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/s2point_compression.cc:29: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2point_compression.cc: In function 'bool S2DecodePointsCompressed(Decoder*, int, absl::debian7::Span)': s2/s2point_compression.cc:374:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 374 | points[i] = ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In function 'S2Point {anonymous}::FacePiQitoXYZ(int, int, int, int)', inlined from 'bool S2DecodePointsCompressed(Decoder*, int, absl::debian7::Span)' at s2/s2point_compression.cc:375:22: s2/s2point_compression.cc:204:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 204 | return S2::FaceUVtoXYZ(face, | ~~~~~~~~~~~~~~~^~~~~~ 205 | S2::STtoUV(PiQitoST(pi, level)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | S2::STtoUV(PiQitoST(qi, level))).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2point_region.cc -o s2/s2point_region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2point_region.h:25, from s2/s2point_region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2point_region.cc:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2point_region.cc:23: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2point_region.cc:24: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2pointutil.cc -o s2/s2pointutil.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2pointutil.cc: In function 'S2Point S2::Ortho(const S2Point&)': s2/s2pointutil.cc:47:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 47 | S2Point Ortho(const S2Point& a) { | ^~~~~ s2/s2pointutil.cc:57:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | return a.CrossProd(temp).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2pointutil.cc: In function 'S2Point S2::Rotate(const S2Point&, const S2Point&, S1Angle)': s2/s2pointutil.cc:61:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 61 | S2Point Rotate(const S2Point& p, const S2Point& axis, S1Angle angle) { | ^~~~~~ s2/s2pointutil.cc:69:36: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point center = p.DotProd(axis) * axis; | ~~~~~~~~~~~~~~~~^~~~~~ s2/s2pointutil.cc:70:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2Point dx = p - center; | ^~~~~~ s2/s2pointutil.cc:71:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 71 | S2Point dy = axis.CrossProd(p); | ~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc:74:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | return (cos(angle) * dx + sin(angle) * dy + center).Normalize(); | ^ s2/s2pointutil.cc:74:64: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | return (cos(angle) * dx + sin(angle) * dy + center).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'void S2::GetFrame(const S2Point&, Matrix3x3_d*)': s2/s2pointutil.cc:86:21: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | m->SetCol(1, Ortho(z)); | ~~~~~^~~ s2/s2pointutil.cc:87:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | m->SetCol(0, m->Col(1).CrossProd(z)); // Already unit-length. | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::ToFrame(const Matrix3x3_d&, const S2Point&)': s2/s2pointutil.cc:90:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | S2Point ToFrame(const Matrix3x3_d& m, const S2Point& p) { | ^~~~~~~ s2/s2pointutil.cc:92:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | return m.Transpose() * p; | ~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::FromFrame(const Matrix3x3_d&, const S2Point&)': s2/s2pointutil.cc:95:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 95 | S2Point FromFrame(const Matrix3x3_d& m, const S2Point& q) { | ^~~~~~~~~ s2/s2pointutil.cc:96:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 96 | return m * q; | ~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::Rotate(const S2Point&, const S2Point&, S1Angle)': s2/s2pointutil.cc:70:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2Point dx = p - center; | ^~~~~~ s2/s2pointutil.cc:69:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point center = p.DotProd(axis) * axis; | ^~~~ s2/s2pointutil.cc: In function 'S2Point S2::Ortho(const S2Point&)': s2/s2pointutil.cc:47:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 47 | S2Point Ortho(const S2Point& a) { | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polygon.cc -o s2/s2polygon.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2/s2polygon.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2polygon.cc:55: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2polygon.cc:58: ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:593:43: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 593 | const S2Polygon& a, const S2Polygon& b) { | ^ s2/s2polygon.cc: In member function 'S2Point S2Polygon::Project(const S2Point&) const': s2/s2polygon.cc:604:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 604 | S2Point S2Polygon::Project(const S2Point& x) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ In file included from /usr/include/c++/15/bits/stl_algobase.h:64, from /usr/include/c++/15/algorithm:62, from ../src/s2/s2polygon.h:21: /usr/include/c++/15/bits/stl_pair.h: In instantiation of 'constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = double; _T2 = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp>::type = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp2>::type = double]': s2/s2polygon.cc:599:24: required from here 599 | return std::make_pair( | ~~~~~~~~~~~~~~^ 600 | intersection_area >= a_area ? 1 : intersection_area / a_area, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 601 | intersection_area >= b_area ? 1 : intersection_area / b_area); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:1164:5: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 1164 | make_pair(_T1&& __x, _T2&& __y) | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2/s2polygon.cc: In member function 'S2Point S2Polygon::GetCentroid() const': s2/s2polygon.cc:553:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polygon.cc:553:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2polygon.cc:553:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polygon.cc:555:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 555 | return centroid; | ^~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:592:33: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 592 | /*static*/ pair S2Polygon::GetOverlapFractions( | ^~~~~~~~~ s2/s2polygon.cc: In member function 'S2Point S2Polygon::Project(const S2Point&) const': s2/s2polygon.cc:604:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 604 | S2Point S2Polygon::Project(const S2Point& x) const { | ^~~~~~~~~ s2/s2polygon.cc: In member function 'bool S2Polygon::Contains(const S2Polygon&) const': s2/s2polygon.cc:633:50: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 633 | if (b.num_loops() == 1 || !bound_.lng().Union(b.bound_.lng()).is_full()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ In file included from s2/s2polygon.cc:60: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from s2/s2polygon.cc:77: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ s2/s2polygon.cc: In function 'uint8 GetCellEdgeIncidenceMask(const S2Cell&, const S2Point&, double)': s2/s2polygon.cc:1064:36: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1064 | R2Rect bound = cell.GetBoundUV(); | ^ s2/s2polygon.cc: In member function 'virtual S2Shape::ReferencePoint S2Polygon::Shape::GetReferencePoint() const': s2/s2polygon.cc:1553:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1553 | return ReferencePoint(S2::Origin(), contains_origin); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2polygon.cc: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2polygon.cc:1582:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1582 | } | ^ s2/s2polygon.cc: In function 'uint8 GetCellEdgeIncidenceMask(const S2Cell&, const S2Point&, double)': s2/s2polygon.cc:1064:35: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1064 | R2Rect bound = cell.GetBoundUV(); | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ s2/s2polygon.cc: In member function 'S2Point S2Polygon::GetCentroid() const': s2/s2polygon.cc:553:56: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ^ s2/s2polygon.cc:550:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 550 | S2Point S2Polygon::GetCentroid() const { | ^~~~~~~~~ s2/s2polygon.cc: In member function 'bool S2Polygon::Contains(const S2Polygon&) const': s2/s2polygon.cc:618:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | bool S2Polygon::Contains(const S2Polygon& b) const { | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:592:33: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 592 | /*static*/ pair S2Polygon::GetOverlapFractions( | ^~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_alignment.cc -o s2/s2polyline_alignment.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline.h:33, from ../src/s2/s2polyline_alignment.h:24, from s2/s2polyline_alignment.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2polyline_alignment.cc: In function 's2polyline_alignment::VertexAlignment s2polyline_alignment::DynamicTimewarp(const S2Polyline&, const S2Polyline&, const Window&)': s2/s2polyline_alignment.cc:201:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 201 | (a.vertex(row) - b.vertex(col)).Norm(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2polyline_alignment.cc: In function 'double s2polyline_alignment::GetExactVertexAlignmentCost(const S2Polyline&, const S2Polyline&)': s2/s2polyline_alignment.cc:281:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 281 | (a.vertex(row) - b.vertex(col)).Norm(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2polyline_alignment.cc: In function 'double s2polyline_alignment::GetExactVertexAlignmentCost(const S2Polyline&, const S2Polyline&)': s2/s2polyline_alignment.cc:281:48: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 281 | (a.vertex(row) - b.vertex(col)).Norm(); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_measures.cc -o s2/s2polyline_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline_measures.h:29, from s2/s2polyline_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2polyline_measures.cc: In function 'S2Point S2::GetCentroid(S2PointSpan)': s2/s2polyline_measures.cc:36:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 36 | S2Point GetCentroid(S2PointSpan polyline) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_simplifier.cc -o s2/s2polyline_simplifier.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2polyline_simplifier.h:63, from s2/s2polyline_simplifier.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2polyline_simplifier.h:64: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2polyline_simplifier.cc: In member function 'void S2PolylineSimplifier::Init(const S2Point&)': s2/s2polyline_simplifier.cc:31:11: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | window_ = S1Interval::Full(); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ s2/s2polyline_simplifier.cc:40:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | S2Point tmp = src.Abs(); | ~~~~~~~^~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Full()': ../src/s2/s1interval.h:242:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | inline S1Interval S1Interval::Full() { | ^~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2polyline_simplifier.cc: In member function 'bool S2PolylineSimplifier::TargetDisc(const S2Point&, S1ChordAngle)': s2/s2polyline_simplifier.cc:87:13: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | window_ = S1Interval::Empty(); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ s2/s2polyline_simplifier.cc: In member function 'void S2PolylineSimplifier::Init(const S2Point&)': s2/s2polyline_simplifier.cc:40:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | S2Point tmp = src.Abs(); | ~~~~~~~^~ s2/s2polyline_simplifier.cc:31:29: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | window_ = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline.cc -o s2/s2polyline.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline.h:33, from s2/s2polyline.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2polyline.cc:45: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2polyline.cc: In member function 'S2Point S2Polyline::GetCentroid() const': s2/s2polyline.cc:213:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point S2Polyline::GetCentroid() const { | ^~~~~ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2polyline.cc: In member function 'void S2Polyline::Init(absl::debian7::Span)': s2/s2polyline.cc:132:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 132 | vertices_[i] = vertices[i].ToPoint(); ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polyline.cc: In member function 'S2Point S2Polyline::GetCentroid() const': s2/s2polyline.cc:213:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point S2Polyline::GetCentroid() const { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2polyline.cc: In member function 'virtual bool S2Polyline::MayIntersect(const S2Cell&) const': s2/s2polyline.cc:398:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 398 | cell_vertices[i] = cell.GetVertex(i); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2polyline.cc: In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)': s2/s2polyline.cc:582:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | S1Interval current_wedge = S1Interval::Full(); | ^ s2/s2polyline.cc:609:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 609 | S2Point direction = S2::ToFrame(frame, candidate); | ^ s2/s2polyline.cc:623:74: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 623 | S1Interval target = S1Interval::FromPoint(center).Expanded(half_angle); | ^ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2polyline.cc: In member function 'bool S2Polyline::NearlyCovers(const S2Polyline&, S1Angle) const': s2/s2polyline.cc:763:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 763 | covered.vertex(0), this->vertex(i), this->vertex(next_i)); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2polyline.cc: In member function 'bool S2Polyline::FindValidationError(S2Error*) const': s2/s2polyline.cc:184:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | if (vertex(i - 1) == -vertex(i)) { | ^ s2/s2polyline.cc: In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)': s2/s2polyline.cc:582:46: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | S1Interval current_wedge = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)' at s2/s2polyline.cc:587:35, inlined from 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const' at s2/s2polyline.cc:641:35: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2polyline.cc: In member function 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const': s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 633 | void S2Polyline::SubsampleVertices(S1Angle tolerance, | ^~~~~~~~~~ s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)', inlined from 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const' at s2/s2polyline.cc:641:35: s2/s2polyline.cc:609:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 609 | S2Point direction = S2::ToFrame(frame, candidate); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ s2/s2polyline.cc:623:46: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 623 | S1Interval target = S1Interval::FromPoint(center).Expanded(half_angle); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2polyline.cc: In member function 'bool S2Polyline::NearlyCovers(const S2Polyline&, S1Angle) const': s2/s2polyline.cc:706:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 706 | bool S2Polyline::NearlyCovers(const S2Polyline& covered, | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2predicates.cc -o s2/s2predicates.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2predicates.h:57, from s2/s2predicates.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2predicates.cc:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:1128:33: required from 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = double]' 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1338:40: required from here 1338 | int sign = TriageEdgeCircumcenterSign(x0, x1, a, b, c, abc_sign); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1090:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1090 | Vector3 GetCircumcenter(const Vector3& a, const Vector3& b, | ^~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1128:33: required from 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = long double]' 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1345:38: required from here 1345 | sign = TriageEdgeCircumcenterSign( | ~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1346 | ToLD(x0), ToLD(x1), ToLD(a), ToLD(b), ToLD(c), abc_sign); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1090:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1090 | Vector3 GetCircumcenter(const Vector3& a, const Vector3& b, | ^~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:1458:37: required from 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]' 1458 | T ax2, aDn = (a - GetClosestVertex(a, x0, x1, &ax2)).DotProd(n); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1697:47: required from here 1697 | Excluded result = TriageVoronoiSiteExclusion(a, b, x0, x1, r.length2()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:564:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 564 | inline Vector3 GetClosestVertex(const Vector3& x, const Vector3& a0, | ^~~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1458:37: required from 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]' 1458 | T ax2, aDn = (a - GetClosestVertex(a, x0, x1, &ax2)).DotProd(n); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1700:40: required from here 1700 | result = TriageVoronoiSiteExclusion(ToLD(a), ToLD(b), ToLD(x0), ToLD(x1), | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1701 | ToLD(r.length2())); | ~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:564:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 564 | inline Vector3 GetClosestVertex(const Vector3& x, const Vector3& a0, | ^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const long double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:796:3: required from 'int s2pred::TriageIntersectionOrdering(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]' 796 | S2_DCHECK_NE(a, -b); s2/s2predicates.cc:906:37: required from here 906 | ans = TriageIntersectionOrdering(ToLD(a), ToLD(b), ToLD(c), ToLD(d), | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 907 | ToLD(m), ToLD(n)); | ~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::Sign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:46:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return Sign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::StableSign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:63:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | Vector3_d ab = b - a; | ~~^~~ s2/s2predicates.cc:84:25: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 84 | det = -(ca.CrossProd(bc).DotProd(c)); | ~~~~~~~~~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::CompareDistances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:469:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | sign = TriageCompareCosDistances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::ExactCompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:743:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 743 | if (a0 != -x && a1 != -x && | ^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::CompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:767:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 767 | sign = TriageCompareEdgeDistance(ToLD(x), ToLD(a0), ToLD(a1), | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::UnperturbedSign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:1253:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1253 | int sign = TriageSign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::EdgeCircumcenterSign(const S2Point&, const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:1346:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1346 | ToLD(x0), ToLD(x1), ToLD(a), ToLD(b), ToLD(c), abc_sign); | ~~~~^~~~ s2/s2predicates.cc: In function 'double s2pred::GetSin2Distance(const S2Point&, const S2Point&, double*)': s2/s2predicates.cc:343:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc:343:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~^~~~ s2/s2predicates.cc:343:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~~~~~~~~~~~~~~~^~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'long double s2pred::GetSin2Distance(const Vector3_ld&, const Vector3_ld&, long double*)': s2/s2predicates.cc:361:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 361 | Vector3_ld n = (x - y).CrossProd(x + y); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDistance(const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:684:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 684 | Vector3 n = (a0 - a1).CrossProd(a0 + a1); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDistance(const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:684:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1043:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1043 | Vector3 na = (a0 - a1).CrossProd(a0 + a1); | ^~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]': s2/s2predicates.cc:1043:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = double]': s2/s2predicates.cc:1128:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = long double]': s2/s2predicates.cc:1128:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:1447:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1447 | Vector3 n = (x0 - x1).CrossProd(x0 + x1); // 2 * x0.CrossProd(x1) | ^ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:1447:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'double s2pred::GetSin2Distance(const S2Point&, const S2Point&, double*)': s2/s2predicates.cc:343:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1044:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~^~~~ s2/s2predicates.cc: In function 'long double s2pred::GetSin2Distance(const Vector3_ld&, const Vector3_ld&, long double*)': s2/s2predicates.cc:361:40: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 361 | Vector3_ld n = (x - y).CrossProd(x + y); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2predicates.cc: In function 'int s2pred::CompareSin2Distances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:438:61: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 438 | sign = TriageCompareSin2Distances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::ExactCompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:743:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 743 | if (a0 != -x && a1 != -x && | ^ s2/s2predicates.cc: In function 'int s2pred::CompareDistances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:469:60: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | sign = TriageCompareCosDistances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:567:16: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 567 | T a1x2 = (a1 - x).Norm2(); | ~~~~^~~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:567:16: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 567 | T a1x2 = (a1 - x).Norm2(); | ~~~~^~~~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1044:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]': s2/s2predicates.cc:1044:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:1492:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1492 | Vector3 aXb = (a - b).CrossProd(a + b); // 2 * a.CrossProd(b) | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:1492:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1492 | Vector3 aXb = (a - b).CrossProd(a + b); // 2 * a.CrossProd(b) | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc: In function 'int s2pred::Sign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:46:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return Sign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1111:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1111 | Vector3 mbc = nbc.CrossProd(bc_sum); | ~~~~~~~~~~~~~^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2projections.cc -o s2/s2projections.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from ../src/s2/s2projections.h:28, from s2/s2projections.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2projections.cc: In member function 'R2Point S2::Projection::WrapDestination(const R2Point&, const R2Point&) const': s2/s2projections.cc:31:73: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | R2Point Projection::WrapDestination(const R2Point& a, const R2Point& b) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:60: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::wrap_distance() const': s2/s2projections.cc:75:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | R2Point PlateCarreeProjection::wrap_distance() const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:57: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::wrap_distance() const': s2/s2projections.cc:109:45: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | R2Point MercatorProjection::wrap_distance() const { | ^~~~~ In file included from ../src/s2/r2.h:22, from ../src/s2/s2projections.h:27: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc:67:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:67:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ^ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::wrap_distance() const': s2/s2projections.cc:75:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | R2Point PlateCarreeProjection::wrap_distance() const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc:98:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:98:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ^ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::wrap_distance() const': s2/s2projections.cc:109:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | R2Point MercatorProjection::wrap_distance() const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::Project(const S2Point&) const': s2/s2projections.cc:57:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | R2Point PlateCarreeProjection::Project(const S2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:67:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:67:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::FromLatLng(const S2LatLng&) const': s2/s2projections.cc:89:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 89 | R2Point MercatorProjection::FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:98:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:98:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2projections.cc: In member function 'R2Point S2::Projection::WrapDestination(const R2Point&, const R2Point&) const': s2/s2projections.cc:31:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | R2Point Projection::WrapDestination(const R2Point& a, const R2Point& b) const { | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2r2rect.cc -o s2/s2r2rect.o In file included from ../src/s2/s2r2rect.h:26, from s2/s2r2rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2r2rect.h:28: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2r2rect.h:29: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2r2rect.h: In member function 'R2Point S2R2Rect::lo() const': ../src/s2/s2r2rect.h:240:31: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 240 | inline R2Point S2R2Rect::lo() const { return rect_.lo(); } | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2cap.h:31, from s2/s2r2rect.cc:23: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from s2/s2r2rect.cc:24: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2r2rect.cc:27: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2r2rect.h: In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)': ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)': s2/s2r2rect.cc:38:39: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | return FromCenterSize(id.GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~^~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2r2rect.cc: In member function 'virtual S2Cap S2R2Rect::GetCapBound() const': s2/s2r2rect.cc:57:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~~~~~~~~~~~~ s2/s2r2rect.cc:57:51: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~ s2/s2r2rect.cc:57:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~~~~~~~~~~~~ s2/s2r2rect.cc:59:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | cap.AddPoint(ToS2Point(GetVertex(k))); | ~~~~~~~~~^~~ s2/s2r2rect.cc:59:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | cap.AddPoint(ToS2Point(GetVertex(k))); | ~~~~~~~~~^~~~~~~~~~~~~~ ../src/s2/s2r2rect.h: In member function 'R2Point S2R2Rect::GetCenter() const': ../src/s2/s2r2rect.h:251:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 251 | inline R2Point S2R2Rect::GetCenter() const { return rect_.GetCenter(); } | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/s2r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2R2Rect&)': s2/s2r2rect.cc:87:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2R2Rect&)': s2/s2r2rect.cc:87:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:46:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return S2::FaceUVtoXYZ(0, S2::STtoUV(p.x()), S2::STtoUV(p.y())).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2r2rect.cc: In member function 'virtual S2Cap S2R2Rect::GetCapBound() const': s2/s2r2rect.cc:57:51: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCell(const S2Cell&)': s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 30 | S2R2Rect S2R2Rect::FromCell(const S2Cell& cell) { | ^~~~~~~~ s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:33:46: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 33 | return FromCenterSize(cell.id().GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~~~~~~~~^~ In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)', inlined from 'static S2R2Rect S2R2Rect::FromCell(const S2Cell&)' at s2/s2r2rect.cc:33:69: ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)': s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 36 | S2R2Rect S2R2Rect::FromCellId(S2CellId id) { | ^~~~~~~~ s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:38:39: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | return FromCenterSize(id.GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~^~ In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)', inlined from 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)' at s2/s2r2rect.cc:38:62: ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_coverer.cc -o s2/s2region_coverer.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2region_coverer.h:31, from s2/s2region_coverer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_intersection.cc -o s2/s2region_intersection.o In file included from ../src/s2/s2region_intersection.h:27, from s2/s2region_intersection.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2region_intersection.cc:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_term_indexer.cc -o s2/s2region_term_indexer.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2region_term_indexer.h:105, from s2/s2region_term_indexer.cc:75: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from ../src/s2/s2region_term_indexer.h:109: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_union.cc -o s2/s2region_union.o In file included from ../src/s2/s2region_union.h:28, from s2/s2region_union.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2region_union.cc:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region.cc -o s2/s2region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2region.h:24, from s2/s2region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index_buffered_region.cc -o s2/s2shape_index_buffered_region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_index_buffered_region.h:23, from s2/s2shape_index_buffered_region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2shape_index_buffered_region.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from ../src/s2/s2shape_index_buffered_region.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2shape_index_region.h:32, from s2/s2shape_index_buffered_region.cc:33: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index_measures.cc -o s2/s2shape_index_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_index_measures.h:25, from s2/s2shape_index_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shape_index_measures.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2shape_index_measures.cc: In function 'S2Point S2::GetCentroid(const S2ShapeIndex&)': s2/s2shape_index_measures.cc:86:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | S2Point GetCentroid(const S2ShapeIndex& index) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index.cc -o s2/s2shape_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from s2/s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_measures.cc -o s2/s2shape_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_measures.h:27, from s2/s2shape_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2loop_measures.h:34, from s2/s2shape_measures.cc:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2shape_measures.cc: In function 'S2Point S2::GetCentroid(const S2Shape&)': s2/s2shape_measures.cc:116:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 116 | S2Point GetCentroid(const S2Shape& shape) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2shape_measures.cc:116:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 116 | S2Point GetCentroid(const S2Shape& shape) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_nesting_query.cc -o s2/s2shape_nesting_query.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shape_nesting_query.h:26, from s2/s2shape_nesting_query.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shape_nesting_query.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2shape_nesting_query.cc: In function 'int ClosestOfNPoints(const S2Point&, const S2Shape&, int, int)': s2/s2shape_nesting_query.cc:54:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | double dist2 = (target - point).Norm2(); | ~~~~~~~~^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2shape_nesting_query.cc: In function 'int ClosestOfNPoints(const S2Point&, const S2Shape&, int, int)': s2/s2shape_nesting_query.cc:54:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | double dist2 = (target - point).Norm2(); | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_build_polygon_boundaries.cc -o s2/s2shapeutil_build_polygon_boundaries.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_build_polygon_boundaries.h:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from ../src/s2/s2contains_point_query.h:26, from s2/s2shapeutil_build_polygon_boundaries.cc:26: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2shapeutil_build_polygon_boundaries.cc: In function 'void s2shapeutil::BuildPolygonBoundaries(const std::vector >&, std::vector >*)': s2/s2shapeutil_build_polygon_boundaries.cc:70:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | !s2shapeutil::ContainsBruteForce(*loop, S2::Origin())) { | ~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2shapeutil_build_polygon_boundaries.cc: In function 'void s2shapeutil::BuildPolygonBoundaries(const std::vector >&, std::vector >*)': s2/s2shapeutil_build_polygon_boundaries.cc:70:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | !s2shapeutil::ContainsBruteForce(*loop, S2::Origin())) { | ~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_coding.cc -o s2/s2shapeutil_coding.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_coding.h:45, from s2/s2shapeutil_coding.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_coding.h:46: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36, from ../src/s2/s2lax_polygon_shape.h:36, from s2/s2shapeutil_coding.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_contains_brute_force.cc -o s2/s2shapeutil_contains_brute_force.o In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_contains_brute_force.h:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2shapeutil_contains_brute_force.cc:20: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_conversion.cc -o s2/s2shapeutil_conversion.o In file included from ../src/s2/s2shapeutil_conversion.h:27, from s2/s2shapeutil_conversion.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from ../src/s2/s2shapeutil_conversion.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_edge_iterator.cc -o s2/s2shapeutil_edge_iterator.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_edge_iterator.h:22, from s2/s2shapeutil_edge_iterator.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_edge_iterator.h:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_get_reference_point.cc -o s2/s2shapeutil_get_reference_point.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_get_reference_point.h:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_visit_crossing_edge_pairs.cc -o s2/s2shapeutil_visit_crossing_edge_pairs.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2crossing_edge_query.h:30, from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:23, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23, from ../src/s2/s2crossing_edge_query.h:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:29: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2crossing_edge_query.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2text_format.cc -o s2/s2text_format.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2text_format.h:34, from s2/s2text_format.cc:16: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2text_format.h:38: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2text_format.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2lax_polygon_shape.h:31, from ../src/s2/s2text_format.h:40: ../src/s2/encoded_s2point_vector.h: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': ../src/s2/encoded_s2point_vector.h:133:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | inline S2Point EncodedS2PointVector::operator[](int i) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36, from ../src/s2/s2lax_polygon_shape.h:36: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParseLatLngs(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:81:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 81 | latlngs->push_back(S2LatLng::FromDegrees(lat, lng)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParsePoints(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:96:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 96 | vertices->push_back(latlng.ToPoint()); | ~~~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'std::string s2textformat::ToString(const S2LatLngRect&)': s2/s2text_format.cc:357:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | AppendVertex(rect.lo(), &out); | ~~~~~~~^~ In file included from s2/s2text_format.cc:42: ../src/s2/s2point_vector_shape.h: In member function 'virtual S2Shape::Edge EncodedS2PointVectorShape::edge(int) const': ../src/s2/s2point_vector_shape.h:137:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 137 | Edge edge(int e) const final { return Edge(points_[e], points_[e]); } | ~~~~~~~~~^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2text_format.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2/s2text_format.cc:505:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | } // namespace s2textformat | ^ s2/s2text_format.cc: In function 'std::string s2textformat::ToString(const S2LatLngRect&)': s2/s2text_format.cc:357:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | AppendVertex(rect.lo(), &out); | ~~~~~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'bool s2textformat::ParseLatLngs(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:81:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 81 | latlngs->push_back(S2LatLng::FromDegrees(lat, lng)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParsePoints(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:92:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | bool ParsePoints(string_view str, vector* vertices) { | ^~~~~~~~~~~ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2wedge_relations.cc -o s2/s2wedge_relations.o In file included from ../src/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2winding_operation.cc -o s2/s2winding_operation.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2winding_operation.h:23, from s2/s2winding_operation.cc:19: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/bits/bit-interleave.cc -o s2/util/bits/bit-interleave.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/coding/coder.cc -o s2/util/coding/coder.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/coding/varint.cc -o s2/util/coding/varint.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/math/exactfloat/exactfloat.cc -o s2/util/math/exactfloat/exactfloat.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/math/mathutil.cc -o s2/util/math/mathutil.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/units/length-units.cc -o s2/util/units/length-units.o ar rcs s2/libs2static.a s2/encoded_s2cell_id_vector.o s2/encoded_s2point_vector.o s2/encoded_s2shape_index.o s2/encoded_string_vector.o s2/id_set_lexicon.o s2/mutable_s2shape_index.o s2/r2rect.o s2/s1angle.o s2/s1chord_angle.o s2/s1interval.o s2/s2boolean_operation.o s2/s2buffer_operation.o s2/s2builder_graph.o s2/s2builder.o s2/s2builderutil_closed_set_normalizer.o s2/s2builderutil_find_polygon_degeneracies.o s2/s2builderutil_get_snapped_winding_delta.o s2/s2builderutil_lax_polygon_layer.o s2/s2builderutil_lax_polyline_layer.o s2/s2builderutil_s2point_vector_layer.o s2/s2builderutil_s2polygon_layer.o s2/s2builderutil_s2polyline_layer.o s2/s2builderutil_s2polyline_vector_layer.o s2/s2builderutil_snap_functions.o s2/s2cap.o s2/s2cell_id.o s2/s2cell_index.o s2/s2cell_union.o s2/s2cell.o s2/s2centroids.o s2/s2closest_cell_query.o s2/s2closest_edge_query.o s2/s2closest_point_query.o s2/s2contains_vertex_query.o s2/s2convex_hull_query.o s2/s2coords.o s2/s2crossing_edge_query.o s2/s2debug.o s2/s2earth.o s2/s2edge_clipping.o s2/s2edge_crosser.o s2/s2edge_crossings.o s2/s2edge_distances.o s2/s2edge_tessellator.o s2/s2error.o s2/s2furthest_edge_query.o s2/s2hausdorff_distance_query.o s2/s2latlng_rect_bounder.o s2/s2latlng_rect.o s2/s2latlng.o s2/s2lax_loop_shape.o s2/s2lax_polygon_shape.o s2/s2lax_polyline_shape.o s2/s2loop_measures.o s2/s2loop.o s2/s2max_distance_targets.o s2/s2measures.o s2/s2memory_tracker.o s2/s2metrics.o s2/s2min_distance_targets.o s2/s2padded_cell.o s2/s2point_compression.o s2/s2point_region.o s2/s2pointutil.o s2/s2polygon.o s2/s2polyline_alignment.o s2/s2polyline_measures.o s2/s2polyline_simplifier.o s2/s2polyline.o s2/s2predicates.o s2/s2projections.o s2/s2r2rect.o s2/s2region_coverer.o s2/s2region_intersection.o s2/s2region_term_indexer.o s2/s2region_union.o s2/s2region.o s2/s2shape_index_buffered_region.o s2/s2shape_index_measures.o s2/s2shape_index.o s2/s2shape_measures.o s2/s2shape_nesting_query.o s2/s2shapeutil_build_polygon_boundaries.o s2/s2shapeutil_coding.o s2/s2shapeutil_contains_brute_force.o s2/s2shapeutil_conversion.o s2/s2shapeutil_edge_iterator.o s2/s2shapeutil_get_reference_point.o s2/s2shapeutil_visit_crossing_edge_pairs.o s2/s2text_format.o s2/s2wedge_relations.o s2/s2winding_operation.o s2/util/bits/bit-interleave.o s2/util/coding/coder.o s2/util/coding/varint.o s2/util/math/exactfloat/exactfloat.o s2/util/math/mathutil.o s2/util/units/length-units.o g++ -std=gnu++17 -shared -L/usr/lib/R/lib -Wl,-z,relro -o s2.so cpp-compat.o s2-accessors.o s2-bounds.o s2-cell.o s2-cell-union.o s2-constructors-formatters.o s2-predicates.o s2-transformers.o init.o RcppExports.o s2-geography.o s2-lnglat.o s2-matrix.o wk-impl.o s2geography/accessors-geog.o s2geography/accessors.o s2geography/build.o s2geography/coverings.o s2geography/distance.o s2geography/geography.o s2geography/linear-referencing.o s2geography/predicates.o -Ls2 -ls2static -latomic -labsl_flags_internal -labsl_flags_marshalling -labsl_log_severity -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_raw_logging_internal -labsl_raw_logging_internal -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_throw_delegate -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_check_op -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_conditions -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_severity -labsl_log_severity -labsl_log_internal_proto -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_nullguard -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_log_sink_set -labsl_log_internal_globals -labsl_log_severity -labsl_log_globals -labsl_hash -labsl_city -labsl_bad_variant_access -labsl_low_level_hash -labsl_log_severity -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_severity -labsl_log_sink -labsl_log_entry -labsl_log_severity -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_stacktrace -labsl_strerror -labsl_str_format_internal -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -Wl,--push-state,--as-needed -latomic -Wl,--pop-state -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto -L/usr/lib/R/lib -lR /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_marshalling.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_reflection.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_private_handle_accessor.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_commandlineflag.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_commandlineflag_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_config.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_program_name.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_logging_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_logging_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_hash_set.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_hashtablez_sampler.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_throw_delegate.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. warning: found a total of 146 dynamically-linked objects incompatible with GCS requirements. make[1]: Leaving directory '/build/reproducible-path/r-cran-s2-1.1.9/src' make[1]: Entering directory '/build/reproducible-path/r-cran-s2-1.1.9/src' make[1]: Leaving directory '/build/reproducible-path/r-cran-s2-1.1.9/src' installing to /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library/00LOCK-r-cran-s2-1.1.9/00new/s2/libs ** R ** data *** moving datasets to lazyload DB ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices *** copying figures ** building package indices rm: missing operand Try 'rm --help' for more information. ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (s2) W: Ignoring specified R dependency: R (>= 3.0.0) I: Using r-cran-bit64 for Recommends:bit64 I: Using r-cran-testthat for Recommends:testthat (>= 3.0.0) I: Using r-cran-vctrs for Recommends:vctrs I: Using r-cran-testthat for Suggests:testthat (>= 3.0.0) I: Using r-cran-rcpp for Imports:Rcpp I: Using r-cran-wk for Imports:wk (>= 0.6.0) I: Using r-cran-rcpp for LinkingTo:Rcpp I: Using r-cran-wk for LinkingTo:wk I: Use r-cran-s2 as Debian binary package for variables substitution dh_installdocs -O--buildsystem=R dh_installchangelogs -O--buildsystem=R dh_installsystemduser -O--buildsystem=R dh_perl -O--buildsystem=R dh_link -O--buildsystem=R dh_strip_nondeterminism -O--buildsystem=R dh_compress -O--buildsystem=R dh_fixperms -O--buildsystem=R dh_missing -O--buildsystem=R dh_dwz -a -O--buildsystem=R dh_strip -a -O--buildsystem=R dh_makeshlibs -a -O--buildsystem=R dh_shlibdeps -a -O--buildsystem=R dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dh_installdeb -O--buildsystem=R dh_gencontrol -O--buildsystem=R dh_md5sums -O--buildsystem=R dh_builddeb -O--buildsystem=R dpkg-deb: building package 'r-cran-s2-dbgsym' in '../r-cran-s2-dbgsym_1.1.9-1_arm64.deb'. dpkg-deb: building package 'r-cran-s2' in '../r-cran-s2_1.1.9-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../r-cran-s2_1.1.9-1_arm64.buildinfo dpkg-genchanges --build=binary -O../r-cran-s2_1.1.9-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1781640 and its subdirectories I: Current time: Thu Dec 3 23:47:12 -12 2026 I: pbuilder-time-stamp: 1796384832 Fri Dec 4 11:47:12 UTC 2026 I: Signing ./b1/r-cran-s2_1.1.9-1_arm64.buildinfo as r-cran-s2_1.1.9-1_arm64.buildinfo.asc Fri Dec 4 11:47:13 UTC 2026 I: Signed ./b1/r-cran-s2_1.1.9-1_arm64.buildinfo as ./b1/r-cran-s2_1.1.9-1_arm64.buildinfo.asc Fri Dec 4 11:47:13 UTC 2026 - build #1 for r-cran-s2/forky/arm64 on codethink03-arm64 done. Starting cleanup. All cleanup done. Fri Dec 4 11:47:13 UTC 2026 - reproducible_build.sh stopped running as /tmp/jenkins-script-yeOqzhkd, removing. /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV: total 16 drwxrwxr-x 2 jenkins jenkins 4096 Nov 1 05:24 b1 drwxrwxr-x 2 jenkins jenkins 4096 Nov 1 05:16 b2 -rw-rw-r-- 1 jenkins jenkins 1527 Oct 26 14:46 r-cran-s2_1.1.9-1.dsc -rw------- 1 jenkins jenkins 2645 Nov 1 05:16 rbuildlog.mm5qCQt /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1: total 21820 -rw-r--r-- 1 jenkins jenkins 2303959 Nov 1 05:24 build.log -rw-r--r-- 1 jenkins jenkins 15331832 Nov 1 05:24 r-cran-s2-dbgsym_1.1.9-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 4336 Nov 1 05:24 r-cran-s2_1.1.9-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1527 Nov 1 05:24 r-cran-s2_1.1.9-1.dsc -rw-r--r-- 1 jenkins jenkins 10249 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.buildinfo -rw-rw-r-- 1 jenkins jenkins 11131 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1528 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 1687472 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 1619 Nov 1 05:24 r-cran-s2_1.1.9-1_source.changes -rw-r--r-- 1 jenkins jenkins 2968006 Nov 1 05:24 r-cran-s2_1.1.9.orig.tar.gz /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2: total 0 Sat Nov 1 05:24:14 UTC 2025 I: Deleting $TMPDIR on codethink03-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Thu Dec 3 23:39:04 -12 2026 I: pbuilder-time-stamp: 1796384344 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [r-cran-s2_1.1.9-1.dsc] I: copying [./r-cran-s2_1.1.9.orig.tar.gz] I: copying [./r-cran-s2_1.1.9-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./r-cran-s2_1.1.9-1.dsc: no acceptable signature found dpkg-source: info: extracting r-cran-s2 in r-cran-s2-1.1.9 dpkg-source: info: unpacking r-cran-s2_1.1.9.orig.tar.gz dpkg-source: info: unpacking r-cran-s2_1.1.9-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying fix-ftbfs-on-32bit.patch dpkg-source: info: applying fix-armel-ftbfs.patch dpkg-source: info: applying warn-on-32bit.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1781640/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='7784f860eafa4d179845a517dd17033e' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='1781640' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_WbH1 --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1 --logfile b1/build.log r-cran-s2_1.1.9-1.dsc' SUDO_GID='109' SUDO_HOME='/var/lib/jenkins' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1781640/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-r, r-base-dev, r-cran-rcpp, r-cran-wk (>= 0.6.0), libssl-dev, libabsl-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19971 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-r; however: Package dh-r is not installed. pbuilder-satisfydepends-dummy depends on r-base-dev; however: Package r-base-dev is not installed. pbuilder-satisfydepends-dummy depends on r-cran-rcpp; however: Package r-cran-rcpp is not installed. pbuilder-satisfydepends-dummy depends on r-cran-wk (>= 0.6.0); however: Package r-cran-wk is not installed. pbuilder-satisfydepends-dummy depends on libssl-dev; however: Package libssl-dev is not installed. pbuilder-satisfydepends-dummy depends on libabsl-dev; however: Package libabsl-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} dctrl-tools{a} debhelper{a} dh-autoreconf{a} dh-r{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} gettext{a} gettext-base{a} gfortran{a} gfortran-15{a} gfortran-15-aarch64-linux-gnu{a} gfortran-aarch64-linux-gnu{a} groff-base{a} icu-devtools{a} intltool-debian{a} libabsl-dev{a} libabsl20240722{a} libalgorithm-c3-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libblas-dev{a} libblas3{a} libbrotli1{a} libbz2-dev{a} libcairo2{a} libclass-c3-perl{a} libclass-load-perl{a} libclass-load-xs-perl{a} libclone-perl{a} libcom-err2{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdata-optlist-perl{a} libdatrie1{a} libdebhelper-perl{a} libdeflate-dev{a} libdeflate0{a} libdevel-callchecker-perl{a} libdevel-globaldestruction-perl{a} libdevel-overloadinfo-perl{a} libdevel-stacktrace-perl{a} libdist-checkconflicts-perl{a} libdynaloader-functions-perl{a} libelf1t64{a} libencode-locale-perl{a} libeval-closure-perl{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgfortran-15-dev{a} libgfortran5{a} libglib2.0-0t64{a} libgnutls30t64{a} libgraphite2-3{a} libgssapi-krb5-2{a} libharfbuzz0b{a} libhttp-date-perl{a} libhttp-message-perl{a} libice6{a} libicu-dev{a} libicu76{a} libidn2-0{a} libio-html-perl{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} libldap2{a} liblerc4{a} liblwp-mediatypes-perl{a} liblzma-dev{a} libmagic-mgc{a} libmagic1t64{a} libmodule-implementation-perl{a} libmodule-runtime-conflicts-perl{a} libmodule-runtime-perl{a} libmoose-perl{a} libmro-compat-perl{a} libnamespace-clean-perl{a} libncurses-dev{a} libncurses6{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libngtcp2-crypto-ossl0{a} libp11-kit0{a} libpackage-deprecationmanager-perl{a} libpackage-stash-perl{a} libpackage-stash-xs-perl{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpaper-utils{a} libpaper2{a} libparams-classify-perl{a} libparams-util-perl{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpixman-1-0{a} libpkgconf3{a} libpng-dev{a} libpng16-16t64{a} libproc2-0{a} libpsl5t64{a} libreadline-dev{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libsharpyuv0{a} libsm6{a} libssh2-1t64{a} libssl-dev{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libswitch-perl{a} libtasn1-6{a} libtcl8.6{a} libtext-charwidth-perl{a} libtext-wrapi18n-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtimedate-perl{a} libtirpc-common{a} libtirpc-dev{a} libtirpc3t64{a} libtk8.6{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libunistring5{a} liburi-perl{a} libvariable-magic-perl{a} libwebp7{a} libwww-curl-perl{a} libwww-curl-simple-perl{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb-render0{a} libxcb-shm0{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxft2{a} libxml2-16{a} libxmuu1{a} libxrender1{a} libxss1{a} libxt6t64{a} libzstd-dev{a} littler{a} m4{a} man-db{a} openssl{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} procps{a} r-base-core{a} r-base-dev{a} r-cran-littler{a} r-cran-pkgkitten{a} r-cran-rcpp{a} r-cran-wk{a} readline-common{a} sensible-utils{a} tzdata{a} ucf{a} unzip{a} x11-common{a} xauth{a} xdg-utils{a} zip{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: bzip2-doc cme curl devscripts git-buildpackage krb5-locales libarchive-cpio-perl libclass-c3-xs-perl libdevel-lexalias-perl libdevel-partialdump-perl libfile-mimeinfo-perl libglib2.0-data libgmock-dev libgpm2 libio-compress-brotli-perl libldap-common libltdl-dev libmail-sendmail-perl libnet-dbus-perl libpng-tools libsasl2-modules libx11-protocol-perl linux-sysctl-defaults lynx psmisc publicsuffix r-cran-readr r-cran-sf r-cran-testthat r-cran-tibble r-cran-vctrs r-doc-html r-recommended shared-mime-info wget x11-utils x11-xserver-utils xdg-user-dirs 0 packages upgraded, 205 newly installed, 0 to remove and 0 not upgraded. Need to get 113 MB of archives. After unpacking 380 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main arm64 libexpat1 arm64 2.7.3-1 [96.5 kB] Get: 2 http://deb.debian.org/debian forky/main arm64 tzdata all 2025b-5 [260 kB] Get: 3 http://deb.debian.org/debian forky/main arm64 libproc2-0 arm64 2:4.0.4-9 [62.8 kB] Get: 4 http://deb.debian.org/debian forky/main arm64 procps arm64 2:4.0.4-9 [871 kB] Get: 5 http://deb.debian.org/debian forky/main arm64 readline-common all 8.3-3 [74.8 kB] Get: 6 http://deb.debian.org/debian forky/main arm64 sensible-utils all 0.0.26 [27.0 kB] Get: 7 http://deb.debian.org/debian forky/main arm64 openssl arm64 3.5.4-1 [1457 kB] Get: 8 http://deb.debian.org/debian forky/main arm64 ca-certificates all 20250419 [162 kB] Get: 9 http://deb.debian.org/debian forky/main arm64 libmagic-mgc arm64 1:5.46-5 [338 kB] Get: 10 http://deb.debian.org/debian forky/main arm64 libmagic1t64 arm64 1:5.46-5 [103 kB] Get: 11 http://deb.debian.org/debian forky/main arm64 file arm64 1:5.46-5 [43.7 kB] Get: 12 http://deb.debian.org/debian forky/main arm64 gettext-base arm64 0.23.1-2+b1 [241 kB] Get: 13 http://deb.debian.org/debian forky/main arm64 libuchardet0 arm64 0.0.8-2 [69.0 kB] Get: 14 http://deb.debian.org/debian forky/main arm64 groff-base arm64 1.23.0-9 [1130 kB] Get: 15 http://deb.debian.org/debian forky/main arm64 bsdextrautils arm64 2.41.2-4 [97.3 kB] Get: 16 http://deb.debian.org/debian forky/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 17 http://deb.debian.org/debian forky/main arm64 man-db arm64 2.13.1-1 [1453 kB] Get: 18 http://deb.debian.org/debian forky/main arm64 libtext-charwidth-perl arm64 0.04-11+b4 [9652 B] Get: 19 http://deb.debian.org/debian forky/main arm64 libtext-wrapi18n-perl all 0.06-10 [8808 B] Get: 20 http://deb.debian.org/debian forky/main arm64 ucf all 3.0052 [43.3 kB] Get: 21 http://deb.debian.org/debian forky/main arm64 m4 arm64 1.4.20-2 [315 kB] Get: 22 http://deb.debian.org/debian forky/main arm64 autoconf all 2.72-3.1 [494 kB] Get: 23 http://deb.debian.org/debian forky/main arm64 autotools-dev all 20240727.1 [60.2 kB] Get: 24 http://deb.debian.org/debian forky/main arm64 automake all 1:1.18.1-2 [877 kB] Get: 25 http://deb.debian.org/debian forky/main arm64 autopoint all 0.23.1-2 [770 kB] Get: 26 http://deb.debian.org/debian forky/main arm64 dctrl-tools arm64 2.24-3+b1 [125 kB] Get: 27 http://deb.debian.org/debian forky/main arm64 libdebhelper-perl all 13.28 [92.4 kB] Get: 28 http://deb.debian.org/debian forky/main arm64 libtool all 2.5.4-7 [540 kB] Get: 29 http://deb.debian.org/debian forky/main arm64 dh-autoreconf all 21 [12.2 kB] Get: 30 http://deb.debian.org/debian forky/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 31 http://deb.debian.org/debian forky/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get: 32 http://deb.debian.org/debian forky/main arm64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get: 33 http://deb.debian.org/debian forky/main arm64 libelf1t64 arm64 0.193-3 [189 kB] Get: 34 http://deb.debian.org/debian forky/main arm64 dwz arm64 0.16-2 [100 kB] Get: 35 http://deb.debian.org/debian forky/main arm64 libunistring5 arm64 1.3-2 [453 kB] Get: 36 http://deb.debian.org/debian forky/main arm64 libxml2-16 arm64 2.14.6+dfsg-0.1 [601 kB] Get: 37 http://deb.debian.org/debian forky/main arm64 gettext arm64 0.23.1-2+b1 [1612 kB] Get: 38 http://deb.debian.org/debian forky/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 39 http://deb.debian.org/debian forky/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 40 http://deb.debian.org/debian forky/main arm64 debhelper all 13.28 [941 kB] Get: 41 http://deb.debian.org/debian forky/main arm64 zip arm64 3.0-15 [227 kB] Get: 42 http://deb.debian.org/debian forky/main arm64 unzip arm64 6.0-29 [163 kB] Get: 43 http://deb.debian.org/debian forky/main arm64 libpaper2 arm64 2.2.5-0.3+b2 [16.6 kB] Get: 44 http://deb.debian.org/debian forky/main arm64 libpaper-utils arm64 2.2.5-0.3+b2 [16.4 kB] Get: 45 http://deb.debian.org/debian forky/main arm64 xdg-utils all 1.2.1-2 [75.8 kB] Get: 46 http://deb.debian.org/debian forky/main arm64 libblas3 arm64 3.12.1-7 [135 kB] Get: 47 http://deb.debian.org/debian forky/main arm64 libbrotli1 arm64 1.1.0-2+b7 [308 kB] Get: 48 http://deb.debian.org/debian forky/main arm64 libpng16-16t64 arm64 1.6.50-1 [275 kB] Get: 49 http://deb.debian.org/debian forky/main arm64 libfreetype6 arm64 2.13.3+dfsg-1 [422 kB] Get: 50 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 51 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 52 http://deb.debian.org/debian forky/main arm64 fontconfig-config arm64 2.15.0-2.4 [318 kB] Get: 53 http://deb.debian.org/debian forky/main arm64 libfontconfig1 arm64 2.15.0-2.4 [387 kB] Get: 54 http://deb.debian.org/debian forky/main arm64 libpixman-1-0 arm64 0.46.4-1 [174 kB] Get: 55 http://deb.debian.org/debian forky/main arm64 libxau6 arm64 1:1.0.11-1 [20.6 kB] Get: 56 http://deb.debian.org/debian forky/main arm64 libxdmcp6 arm64 1:1.1.5-1 [27.8 kB] Get: 57 http://deb.debian.org/debian forky/main arm64 libxcb1 arm64 1.17.0-2+b1 [143 kB] Get: 58 http://deb.debian.org/debian forky/main arm64 libx11-data all 2:1.8.12-1 [343 kB] Get: 59 http://deb.debian.org/debian forky/main arm64 libx11-6 arm64 2:1.8.12-1 [795 kB] Get: 60 http://deb.debian.org/debian forky/main arm64 libxcb-render0 arm64 1.17.0-2+b1 [115 kB] Get: 61 http://deb.debian.org/debian forky/main arm64 libxcb-shm0 arm64 1.17.0-2+b1 [105 kB] Get: 62 http://deb.debian.org/debian forky/main arm64 libxext6 arm64 2:1.3.4-1+b3 [49.2 kB] Get: 63 http://deb.debian.org/debian forky/main arm64 libxrender1 arm64 1:0.9.12-1 [27.0 kB] Get: 64 http://deb.debian.org/debian forky/main arm64 libcairo2 arm64 1.18.4-1+b1 [483 kB] Get: 65 http://deb.debian.org/debian forky/main arm64 libnghttp3-9 arm64 1.12.0-1 [63.6 kB] Get: 66 http://deb.debian.org/debian forky/main arm64 libngtcp2-16 arm64 1.16.0-1 [123 kB] Get: 67 http://deb.debian.org/debian forky/main arm64 libkrb5support0 arm64 1.21.3-5 [32.4 kB] Get: 68 http://deb.debian.org/debian forky/main arm64 libcom-err2 arm64 1.47.2-3+b3 [24.9 kB] Get: 69 http://deb.debian.org/debian forky/main arm64 libk5crypto3 arm64 1.21.3-5 [81.2 kB] Get: 70 http://deb.debian.org/debian forky/main arm64 libkeyutils1 arm64 1.6.3-6 [9716 B] Get: 71 http://deb.debian.org/debian forky/main arm64 libkrb5-3 arm64 1.21.3-5 [308 kB] Get: 72 http://deb.debian.org/debian forky/main arm64 libgssapi-krb5-2 arm64 1.21.3-5 [127 kB] Get: 73 http://deb.debian.org/debian forky/main arm64 libidn2-0 arm64 2.3.8-4 [108 kB] Get: 74 http://deb.debian.org/debian forky/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-10 [19.8 kB] Get: 75 http://deb.debian.org/debian forky/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-10 [55.0 kB] Get: 76 http://deb.debian.org/debian forky/main arm64 libldap2 arm64 2.6.10+dfsg-1 [179 kB] Get: 77 http://deb.debian.org/debian forky/main arm64 libnghttp2-14 arm64 1.64.0-1.1+b1 [71.7 kB] Get: 78 http://deb.debian.org/debian forky/main arm64 libngtcp2-crypto-ossl0 arm64 1.16.0-1 [25.7 kB] Get: 79 http://deb.debian.org/debian forky/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 80 http://deb.debian.org/debian forky/main arm64 libffi8 arm64 3.5.2-2 [21.5 kB] Get: 81 http://deb.debian.org/debian forky/main arm64 libp11-kit0 arm64 0.25.9-2 [420 kB] Get: 82 http://deb.debian.org/debian forky/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 83 http://deb.debian.org/debian forky/main arm64 libgnutls30t64 arm64 3.8.10-3 [1384 kB] Get: 84 http://deb.debian.org/debian forky/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-3 [56.3 kB] Get: 85 http://deb.debian.org/debian forky/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 86 http://deb.debian.org/debian forky/main arm64 libcurl4t64 arm64 8.17.0~rc3-1 [370 kB] Get: 87 http://deb.debian.org/debian forky/main arm64 libdeflate0 arm64 1.23-2 [42.4 kB] Get: 88 http://deb.debian.org/debian forky/main arm64 libglib2.0-0t64 arm64 2.86.1-1 [1436 kB] Get: 89 http://deb.debian.org/debian forky/main arm64 libicu76 arm64 76.1-4 [9524 kB] Get: 90 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo arm64 1:2.1.5-4 [173 kB] Get: 91 http://deb.debian.org/debian forky/main arm64 libgfortran5 arm64 15.2.0-7 [371 kB] Get: 92 http://deb.debian.org/debian forky/main arm64 liblapack3 arm64 3.12.1-7 [1846 kB] Get: 93 http://deb.debian.org/debian forky/main arm64 fontconfig arm64 2.15.0-2.4 [463 kB] Get: 94 http://deb.debian.org/debian forky/main arm64 libfribidi0 arm64 1.0.16-3 [26.5 kB] Get: 95 http://deb.debian.org/debian forky/main arm64 libgraphite2-3 arm64 1.3.14-11 [70.8 kB] Get: 96 http://deb.debian.org/debian forky/main arm64 libharfbuzz0b arm64 12.1.0-1 [486 kB] Get: 97 http://deb.debian.org/debian forky/main arm64 libthai-data all 0.1.29-2 [168 kB] Get: 98 http://deb.debian.org/debian forky/main arm64 libdatrie1 arm64 0.2.13-4 [37.4 kB] Get: 99 http://deb.debian.org/debian forky/main arm64 libthai0 arm64 0.1.29-2+b1 [48.4 kB] Get: 100 http://deb.debian.org/debian forky/main arm64 libpango-1.0-0 arm64 1.56.3-2 [222 kB] Get: 101 http://deb.debian.org/debian forky/main arm64 libpangoft2-1.0-0 arm64 1.56.3-2 [56.5 kB] Get: 102 http://deb.debian.org/debian forky/main arm64 libpangocairo-1.0-0 arm64 1.56.3-2 [35.3 kB] Get: 103 http://deb.debian.org/debian forky/main arm64 libreadline8t64 arm64 8.3-3 [169 kB] Get: 104 http://deb.debian.org/debian forky/main arm64 libtcl8.6 arm64 8.6.17+dfsg-1 [982 kB] Get: 105 http://deb.debian.org/debian forky/main arm64 libjbig0 arm64 2.1-6.1+b2 [30.4 kB] Get: 106 http://deb.debian.org/debian forky/main arm64 liblerc4 arm64 4.0.0+ds-5 [146 kB] Get: 107 http://deb.debian.org/debian forky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [114 kB] Get: 108 http://deb.debian.org/debian forky/main arm64 libwebp7 arm64 1.5.0-0.1 [271 kB] Get: 109 http://deb.debian.org/debian forky/main arm64 libtiff6 arm64 4.7.1-1 [334 kB] Get: 110 http://deb.debian.org/debian forky/main arm64 libtirpc-common all 1.3.6+ds-1 [11.0 kB] Get: 111 http://deb.debian.org/debian forky/main arm64 libtirpc3t64 arm64 1.3.6+ds-1 [79.1 kB] Get: 112 http://deb.debian.org/debian forky/main arm64 libxft2 arm64 2.3.6-1+b4 [51.6 kB] Get: 113 http://deb.debian.org/debian forky/main arm64 x11-common all 1:7.7+26 [217 kB] Get: 114 http://deb.debian.org/debian forky/main arm64 libxss1 arm64 1:1.2.3-1+b3 [17.1 kB] Get: 115 http://deb.debian.org/debian forky/main arm64 libtk8.6 arm64 8.6.17-1 [740 kB] Get: 116 http://deb.debian.org/debian forky/main arm64 libice6 arm64 2:1.1.1-1 [62.1 kB] Get: 117 http://deb.debian.org/debian forky/main arm64 libsm6 arm64 2:1.2.6-1 [36.4 kB] Get: 118 http://deb.debian.org/debian forky/main arm64 libxt6t64 arm64 1:1.2.1-1.3 [182 kB] Get: 119 http://deb.debian.org/debian forky/main arm64 r-base-core arm64 4.5.1-1 [28.4 MB] Get: 120 http://deb.debian.org/debian forky/main arm64 libgfortran-15-dev arm64 15.2.0-7 [411 kB] Get: 121 http://deb.debian.org/debian forky/main arm64 gfortran-15-aarch64-linux-gnu arm64 15.2.0-7 [10.8 MB] Get: 122 http://deb.debian.org/debian forky/main arm64 gfortran-15 arm64 15.2.0-7 [18.0 kB] Get: 123 http://deb.debian.org/debian forky/main arm64 gfortran-aarch64-linux-gnu arm64 4:15.2.0-4 [1280 B] Get: 124 http://deb.debian.org/debian forky/main arm64 gfortran arm64 4:15.2.0-4 [1428 B] Get: 125 http://deb.debian.org/debian forky/main arm64 libblas-dev arm64 3.12.1-7 [145 kB] Get: 126 http://deb.debian.org/debian forky/main arm64 liblapack-dev arm64 3.12.1-7 [3829 kB] Get: 127 http://deb.debian.org/debian forky/main arm64 libncurses6 arm64 6.5+20250216-2 [96.1 kB] Get: 128 http://deb.debian.org/debian forky/main arm64 libncurses-dev arm64 6.5+20250216-2 [340 kB] Get: 129 http://deb.debian.org/debian forky/main arm64 libreadline-dev arm64 8.3-3 [163 kB] Get: 130 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo-dev arm64 1:2.1.5-4 [293 kB] Get: 131 http://deb.debian.org/debian forky/main arm64 libjpeg-dev arm64 1:2.1.5-4 [72.2 kB] Get: 132 http://deb.debian.org/debian forky/main arm64 libpcre2-16-0 arm64 10.46-1 [247 kB] Get: 133 http://deb.debian.org/debian forky/main arm64 libpcre2-32-0 arm64 10.46-1 [238 kB] Get: 134 http://deb.debian.org/debian forky/main arm64 libpcre2-posix3 arm64 10.46-1 [64.1 kB] Get: 135 http://deb.debian.org/debian forky/main arm64 libpcre2-dev arm64 10.46-1 [750 kB] Get: 136 http://deb.debian.org/debian forky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Get: 137 http://deb.debian.org/debian forky/main arm64 libpng-dev arm64 1.6.50-1 [361 kB] Get: 138 http://deb.debian.org/debian forky/main arm64 libbz2-dev arm64 1.0.8-6 [31.9 kB] Get: 139 http://deb.debian.org/debian forky/main arm64 liblzma-dev arm64 5.8.1-2 [344 kB] Get: 140 http://deb.debian.org/debian forky/main arm64 icu-devtools arm64 76.1-4 [200 kB] Get: 141 http://deb.debian.org/debian forky/main arm64 libicu-dev arm64 76.1-4 [10.6 MB] Get: 142 http://deb.debian.org/debian forky/main arm64 libxmuu1 arm64 2:1.1.3-3+b4 [22.0 kB] Get: 143 http://deb.debian.org/debian forky/main arm64 xauth arm64 1:1.1.2-1.1 [35.4 kB] Get: 144 http://deb.debian.org/debian forky/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 145 http://deb.debian.org/debian forky/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 146 http://deb.debian.org/debian forky/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 147 http://deb.debian.org/debian forky/main arm64 libtirpc-dev arm64 1.3.6+ds-1 [192 kB] Get: 148 http://deb.debian.org/debian forky/main arm64 libdeflate-dev arm64 1.23-2 [51.3 kB] Get: 149 http://deb.debian.org/debian forky/main arm64 libzstd-dev arm64 1.5.7+dfsg-2 [330 kB] Get: 150 http://deb.debian.org/debian forky/main arm64 r-base-dev all 4.5.1-1 [4360 B] Get: 151 http://deb.debian.org/debian forky/main arm64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 152 http://deb.debian.org/debian forky/main arm64 libswitch-perl all 2.17-3 [20.3 kB] Get: 153 http://deb.debian.org/debian forky/main arm64 libclone-perl arm64 0.47-1+b1 [13.7 kB] Get: 154 http://deb.debian.org/debian forky/main arm64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 155 http://deb.debian.org/debian forky/main arm64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 156 http://deb.debian.org/debian forky/main arm64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 157 http://deb.debian.org/debian forky/main arm64 libio-html-perl all 1.004-3 [16.2 kB] Get: 158 http://deb.debian.org/debian forky/main arm64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 159 http://deb.debian.org/debian forky/main arm64 liburi-perl all 5.30-1 [105 kB] Get: 160 http://deb.debian.org/debian forky/main arm64 libhttp-message-perl all 7.01-1 [80.0 kB] Get: 161 http://deb.debian.org/debian forky/main arm64 libparams-util-perl arm64 1.102-3+b1 [23.7 kB] Get: 162 http://deb.debian.org/debian forky/main arm64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 163 http://deb.debian.org/debian forky/main arm64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 164 http://deb.debian.org/debian forky/main arm64 libb-hooks-op-check-perl arm64 0.22-3+b2 [10.6 kB] Get: 165 http://deb.debian.org/debian forky/main arm64 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Get: 166 http://deb.debian.org/debian forky/main arm64 libdevel-callchecker-perl arm64 0.009-2 [15.7 kB] Get: 167 http://deb.debian.org/debian forky/main arm64 libparams-classify-perl arm64 0.015-2+b4 [22.3 kB] Get: 168 http://deb.debian.org/debian forky/main arm64 libmodule-runtime-perl all 0.018-1 [17.8 kB] Get: 169 http://deb.debian.org/debian forky/main arm64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 170 http://deb.debian.org/debian forky/main arm64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 171 http://deb.debian.org/debian forky/main arm64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 172 http://deb.debian.org/debian forky/main arm64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 173 http://deb.debian.org/debian forky/main arm64 libclass-load-xs-perl arm64 0.10-2+b4 [14.3 kB] Get: 174 http://deb.debian.org/debian forky/main arm64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 175 http://deb.debian.org/debian forky/main arm64 libdevel-globaldestruction-perl all 0.14-4 [7144 B] Get: 176 http://deb.debian.org/debian forky/main arm64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 177 http://deb.debian.org/debian forky/main arm64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 178 http://deb.debian.org/debian forky/main arm64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 179 http://deb.debian.org/debian forky/main arm64 libdevel-overloadinfo-perl all 0.008-1 [7748 B] Get: 180 http://deb.debian.org/debian forky/main arm64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get: 181 http://deb.debian.org/debian forky/main arm64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 182 http://deb.debian.org/debian forky/main arm64 libeval-closure-perl all 0.14-3 [11.2 kB] Get: 183 http://deb.debian.org/debian forky/main arm64 libdist-checkconflicts-perl all 0.11-2 [10.5 kB] Get: 184 http://deb.debian.org/debian forky/main arm64 libmodule-runtime-conflicts-perl all 0.003-2 [7356 B] Get: 185 http://deb.debian.org/debian forky/main arm64 libpackage-deprecationmanager-perl all 0.18-1 [17.6 kB] Get: 186 http://deb.debian.org/debian forky/main arm64 libpackage-stash-xs-perl arm64 0.30-1+b4 [19.0 kB] Get: 187 http://deb.debian.org/debian forky/main arm64 libmoose-perl arm64 2.4000-1 [766 kB] Get: 188 http://deb.debian.org/debian forky/main arm64 libvariable-magic-perl arm64 0.64-1+b1 [43.9 kB] Get: 189 http://deb.debian.org/debian forky/main arm64 libb-hooks-endofscope-perl all 0.28-2 [17.6 kB] Get: 190 http://deb.debian.org/debian forky/main arm64 libsub-identify-perl arm64 0.14-3+b3 [11.2 kB] Get: 191 http://deb.debian.org/debian forky/main arm64 libsub-name-perl arm64 0.28-1 [12.1 kB] Get: 192 http://deb.debian.org/debian forky/main arm64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 193 http://deb.debian.org/debian forky/main arm64 libngtcp2-crypto-gnutls8 arm64 1.16.0-1 [23.8 kB] Get: 194 http://deb.debian.org/debian forky/main arm64 libcurl3t64-gnutls arm64 8.17.0~rc3-1 [362 kB] Get: 195 http://deb.debian.org/debian forky/main arm64 libwww-curl-perl arm64 4.17-12 [57.7 kB] Get: 196 http://deb.debian.org/debian forky/main arm64 libwww-curl-simple-perl all 0.100191-3 [12.6 kB] Get: 197 http://deb.debian.org/debian forky/main arm64 dh-r all 20250812 [42.6 kB] Get: 198 http://deb.debian.org/debian forky/main arm64 libabsl20240722 arm64 20240722.0-4 [452 kB] Get: 199 http://deb.debian.org/debian forky/main arm64 libabsl-dev arm64 20240722.0-4 [1223 kB] Get: 200 http://deb.debian.org/debian forky/main arm64 libssl-dev arm64 3.5.4-1 [3377 kB] Get: 201 http://deb.debian.org/debian forky/main arm64 r-cran-littler arm64 0.3.21-2 [92.2 kB] Get: 202 http://deb.debian.org/debian forky/main arm64 littler all 0.3.21-2 [16.9 kB] Get: 203 http://deb.debian.org/debian forky/main arm64 r-cran-pkgkitten all 0.2.4-1 [29.1 kB] Get: 204 http://deb.debian.org/debian forky/main arm64 r-cran-rcpp arm64 1.1.0-1 [2096 kB] Get: 205 http://deb.debian.org/debian forky/main arm64 r-cran-wk arm64 0.9.4-1 [1783 kB] Fetched 113 MB in 1s (137 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19971 files and directories currently installed.) Preparing to unpack .../000-libexpat1_2.7.3-1_arm64.deb ... Unpacking libexpat1:arm64 (2.7.3-1) ... Selecting previously unselected package tzdata. Preparing to unpack .../001-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libproc2-0:arm64. Preparing to unpack .../002-libproc2-0_2%3a4.0.4-9_arm64.deb ... Unpacking libproc2-0:arm64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../003-procps_2%3a4.0.4-9_arm64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package readline-common. Preparing to unpack .../004-readline-common_8.3-3_all.deb ... Unpacking readline-common (8.3-3) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../005-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../006-openssl_3.5.4-1_arm64.deb ... Unpacking openssl (3.5.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../007-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../008-libmagic-mgc_1%3a5.46-5_arm64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../009-libmagic1t64_1%3a5.46-5_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../010-file_1%3a5.46-5_arm64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../011-gettext-base_0.23.1-2+b1_arm64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../012-libuchardet0_0.0.8-2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../013-groff-base_1.23.0-9_arm64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../014-bsdextrautils_2.41.2-4_arm64.deb ... Unpacking bsdextrautils (2.41.2-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../015-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../016-man-db_2.13.1-1_arm64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libtext-charwidth-perl:arm64. Preparing to unpack .../017-libtext-charwidth-perl_0.04-11+b4_arm64.deb ... Unpacking libtext-charwidth-perl:arm64 (0.04-11+b4) ... Selecting previously unselected package libtext-wrapi18n-perl. Preparing to unpack .../018-libtext-wrapi18n-perl_0.06-10_all.deb ... Unpacking libtext-wrapi18n-perl (0.06-10) ... Selecting previously unselected package ucf. Preparing to unpack .../019-ucf_3.0052_all.deb ... Moving old data out of the way Unpacking ucf (3.0052) ... Selecting previously unselected package m4. Preparing to unpack .../020-m4_1.4.20-2_arm64.deb ... Unpacking m4 (1.4.20-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../021-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../022-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../023-automake_1%3a1.18.1-2_all.deb ... Unpacking automake (1:1.18.1-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../024-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package dctrl-tools. Preparing to unpack .../025-dctrl-tools_2.24-3+b1_arm64.deb ... Unpacking dctrl-tools (2.24-3+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../026-libdebhelper-perl_13.28_all.deb ... Unpacking libdebhelper-perl (13.28) ... Selecting previously unselected package libtool. Preparing to unpack .../027-libtool_2.5.4-7_all.deb ... Unpacking libtool (2.5.4-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../028-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../029-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../030-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../031-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../032-libelf1t64_0.193-3_arm64.deb ... Unpacking libelf1t64:arm64 (0.193-3) ... Selecting previously unselected package dwz. Preparing to unpack .../033-dwz_0.16-2_arm64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../034-libunistring5_1.3-2_arm64.deb ... Unpacking libunistring5:arm64 (1.3-2) ... Selecting previously unselected package libxml2-16:arm64. Preparing to unpack .../035-libxml2-16_2.14.6+dfsg-0.1_arm64.deb ... Unpacking libxml2-16:arm64 (2.14.6+dfsg-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../036-gettext_0.23.1-2+b1_arm64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../037-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../038-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../039-debhelper_13.28_all.deb ... Unpacking debhelper (13.28) ... Selecting previously unselected package zip. Preparing to unpack .../040-zip_3.0-15_arm64.deb ... Unpacking zip (3.0-15) ... Selecting previously unselected package unzip. Preparing to unpack .../041-unzip_6.0-29_arm64.deb ... Unpacking unzip (6.0-29) ... Selecting previously unselected package libpaper2:arm64. Preparing to unpack .../042-libpaper2_2.2.5-0.3+b2_arm64.deb ... Unpacking libpaper2:arm64 (2.2.5-0.3+b2) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../043-libpaper-utils_2.2.5-0.3+b2_arm64.deb ... Unpacking libpaper-utils (2.2.5-0.3+b2) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../044-xdg-utils_1.2.1-2_all.deb ... Unpacking xdg-utils (1.2.1-2) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../045-libblas3_3.12.1-7_arm64.deb ... Unpacking libblas3:arm64 (3.12.1-7) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../046-libbrotli1_1.1.0-2+b7_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b7) ... Selecting previously unselected package libpng16-16t64:arm64. Preparing to unpack .../047-libpng16-16t64_1.6.50-1_arm64.deb ... Unpacking libpng16-16t64:arm64 (1.6.50-1) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../048-libfreetype6_2.13.3+dfsg-1_arm64.deb ... Unpacking libfreetype6:arm64 (2.13.3+dfsg-1) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../049-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../050-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../051-fontconfig-config_2.15.0-2.4_arm64.deb ... Unpacking fontconfig-config (2.15.0-2.4) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../052-libfontconfig1_2.15.0-2.4_arm64.deb ... Unpacking libfontconfig1:arm64 (2.15.0-2.4) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../053-libpixman-1-0_0.46.4-1_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.46.4-1) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../054-libxau6_1%3a1.0.11-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../055-libxdmcp6_1%3a1.1.5-1_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../056-libxcb1_1.17.0-2+b1_arm64.deb ... Unpacking libxcb1:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../057-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../058-libx11-6_2%3a1.8.12-1_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.12-1) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../059-libxcb-render0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-render0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../060-libxcb-shm0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../061-libxext6_2%3a1.3.4-1+b3_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../062-libxrender1_1%3a0.9.12-1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.12-1) ... Selecting previously unselected package libcairo2:arm64. Preparing to unpack .../063-libcairo2_1.18.4-1+b1_arm64.deb ... Unpacking libcairo2:arm64 (1.18.4-1+b1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../064-libnghttp3-9_1.12.0-1_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.12.0-1) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../065-libngtcp2-16_1.16.0-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.16.0-1) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../066-libkrb5support0_1.21.3-5_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-5) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../067-libcom-err2_1.47.2-3+b3_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-3+b3) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../068-libk5crypto3_1.21.3-5_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../069-libkeyutils1_1.6.3-6_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../070-libkrb5-3_1.21.3-5_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../071-libgssapi-krb5-2_1.21.3-5_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-5) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../072-libidn2-0_2.3.8-4_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.8-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../073-libsasl2-modules-db_2.1.28+dfsg1-10_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-10) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../074-libsasl2-2_2.1.28+dfsg1-10_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-10) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../075-libldap2_2.6.10+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.10+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../076-libnghttp2-14_1.64.0-1.1+b1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Selecting previously unselected package libngtcp2-crypto-ossl0:arm64. Preparing to unpack .../077-libngtcp2-crypto-ossl0_1.16.0-1_arm64.deb ... Unpacking libngtcp2-crypto-ossl0:arm64 (1.16.0-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../078-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../079-libffi8_3.5.2-2_arm64.deb ... Unpacking libffi8:arm64 (3.5.2-2) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../080-libp11-kit0_0.25.9-2_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.9-2) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../081-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../082-libgnutls30t64_3.8.10-3_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.10-3) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../083-librtmp1_2.4+20151223.gitfa8646d.1-3_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../084-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl4t64:arm64. Preparing to unpack .../085-libcurl4t64_8.17.0~rc3-1_arm64.deb ... Unpacking libcurl4t64:arm64 (8.17.0~rc3-1) ... Selecting previously unselected package libdeflate0:arm64. Preparing to unpack .../086-libdeflate0_1.23-2_arm64.deb ... Unpacking libdeflate0:arm64 (1.23-2) ... Selecting previously unselected package libglib2.0-0t64:arm64. Preparing to unpack .../087-libglib2.0-0t64_2.86.1-1_arm64.deb ... Unpacking libglib2.0-0t64:arm64 (2.86.1-1) ... Selecting previously unselected package libicu76:arm64. Preparing to unpack .../088-libicu76_76.1-4_arm64.deb ... Unpacking libicu76:arm64 (76.1-4) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../089-libjpeg62-turbo_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:2.1.5-4) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../090-libgfortran5_15.2.0-7_arm64.deb ... Unpacking libgfortran5:arm64 (15.2.0-7) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../091-liblapack3_3.12.1-7_arm64.deb ... Unpacking liblapack3:arm64 (3.12.1-7) ... Selecting previously unselected package fontconfig. Preparing to unpack .../092-fontconfig_2.15.0-2.4_arm64.deb ... Unpacking fontconfig (2.15.0-2.4) ... Selecting previously unselected package libfribidi0:arm64. Preparing to unpack .../093-libfribidi0_1.0.16-3_arm64.deb ... Unpacking libfribidi0:arm64 (1.0.16-3) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../094-libgraphite2-3_1.3.14-11_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.14-11) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../095-libharfbuzz0b_12.1.0-1_arm64.deb ... Unpacking libharfbuzz0b:arm64 (12.1.0-1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../096-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:arm64. Preparing to unpack .../097-libdatrie1_0.2.13-4_arm64.deb ... Unpacking libdatrie1:arm64 (0.2.13-4) ... Selecting previously unselected package libthai0:arm64. Preparing to unpack .../098-libthai0_0.1.29-2+b1_arm64.deb ... Unpacking libthai0:arm64 (0.1.29-2+b1) ... Selecting previously unselected package libpango-1.0-0:arm64. Preparing to unpack .../099-libpango-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpango-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libpangoft2-1.0-0:arm64. Preparing to unpack .../100-libpangoft2-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpangoft2-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libpangocairo-1.0-0:arm64. Preparing to unpack .../101-libpangocairo-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpangocairo-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../102-libreadline8t64_8.3-3_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.3-3) ... Selecting previously unselected package libtcl8.6:arm64. Preparing to unpack .../103-libtcl8.6_8.6.17+dfsg-1_arm64.deb ... Unpacking libtcl8.6:arm64 (8.6.17+dfsg-1) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../104-libjbig0_2.1-6.1+b2_arm64.deb ... Unpacking libjbig0:arm64 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:arm64. Preparing to unpack .../105-liblerc4_4.0.0+ds-5_arm64.deb ... Unpacking liblerc4:arm64 (4.0.0+ds-5) ... Selecting previously unselected package libsharpyuv0:arm64. Preparing to unpack .../106-libsharpyuv0_1.5.0-0.1_arm64.deb ... Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... Selecting previously unselected package libwebp7:arm64. Preparing to unpack .../107-libwebp7_1.5.0-0.1_arm64.deb ... Unpacking libwebp7:arm64 (1.5.0-0.1) ... Selecting previously unselected package libtiff6:arm64. Preparing to unpack .../108-libtiff6_4.7.1-1_arm64.deb ... Unpacking libtiff6:arm64 (4.7.1-1) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../109-libtirpc-common_1.3.6+ds-1_all.deb ... Unpacking libtirpc-common (1.3.6+ds-1) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../110-libtirpc3t64_1.3.6+ds-1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.6+ds-1) ... Selecting previously unselected package libxft2:arm64. Preparing to unpack .../111-libxft2_2.3.6-1+b4_arm64.deb ... Unpacking libxft2:arm64 (2.3.6-1+b4) ... Selecting previously unselected package x11-common. Preparing to unpack .../112-x11-common_1%3a7.7+26_all.deb ... Unpacking x11-common (1:7.7+26) ... Selecting previously unselected package libxss1:arm64. Preparing to unpack .../113-libxss1_1%3a1.2.3-1+b3_arm64.deb ... Unpacking libxss1:arm64 (1:1.2.3-1+b3) ... Selecting previously unselected package libtk8.6:arm64. Preparing to unpack .../114-libtk8.6_8.6.17-1_arm64.deb ... Unpacking libtk8.6:arm64 (8.6.17-1) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../115-libice6_2%3a1.1.1-1_arm64.deb ... Unpacking libice6:arm64 (2:1.1.1-1) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../116-libsm6_2%3a1.2.6-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.6-1) ... Selecting previously unselected package libxt6t64:arm64. Preparing to unpack .../117-libxt6t64_1%3a1.2.1-1.3_arm64.deb ... Unpacking libxt6t64:arm64 (1:1.2.1-1.3) ... Selecting previously unselected package r-base-core. Preparing to unpack .../118-r-base-core_4.5.1-1_arm64.deb ... Unpacking r-base-core (4.5.1-1) ... Selecting previously unselected package libgfortran-15-dev:arm64. Preparing to unpack .../119-libgfortran-15-dev_15.2.0-7_arm64.deb ... Unpacking libgfortran-15-dev:arm64 (15.2.0-7) ... Selecting previously unselected package gfortran-15-aarch64-linux-gnu. Preparing to unpack .../120-gfortran-15-aarch64-linux-gnu_15.2.0-7_arm64.deb ... Unpacking gfortran-15-aarch64-linux-gnu (15.2.0-7) ... Selecting previously unselected package gfortran-15. Preparing to unpack .../121-gfortran-15_15.2.0-7_arm64.deb ... Unpacking gfortran-15 (15.2.0-7) ... Selecting previously unselected package gfortran-aarch64-linux-gnu. Preparing to unpack .../122-gfortran-aarch64-linux-gnu_4%3a15.2.0-4_arm64.deb ... Unpacking gfortran-aarch64-linux-gnu (4:15.2.0-4) ... Selecting previously unselected package gfortran. Preparing to unpack .../123-gfortran_4%3a15.2.0-4_arm64.deb ... Unpacking gfortran (4:15.2.0-4) ... Selecting previously unselected package libblas-dev:arm64. Preparing to unpack .../124-libblas-dev_3.12.1-7_arm64.deb ... Unpacking libblas-dev:arm64 (3.12.1-7) ... Selecting previously unselected package liblapack-dev:arm64. Preparing to unpack .../125-liblapack-dev_3.12.1-7_arm64.deb ... Unpacking liblapack-dev:arm64 (3.12.1-7) ... Selecting previously unselected package libncurses6:arm64. Preparing to unpack .../126-libncurses6_6.5+20250216-2_arm64.deb ... Unpacking libncurses6:arm64 (6.5+20250216-2) ... Selecting previously unselected package libncurses-dev:arm64. Preparing to unpack .../127-libncurses-dev_6.5+20250216-2_arm64.deb ... Unpacking libncurses-dev:arm64 (6.5+20250216-2) ... Selecting previously unselected package libreadline-dev:arm64. Preparing to unpack .../128-libreadline-dev_8.3-3_arm64.deb ... Unpacking libreadline-dev:arm64 (8.3-3) ... Selecting previously unselected package libjpeg62-turbo-dev:arm64. Preparing to unpack .../129-libjpeg62-turbo-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libjpeg-dev:arm64. Preparing to unpack .../130-libjpeg-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../131-libpcre2-16-0_10.46-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../132-libpcre2-32-0_10.46-1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../133-libpcre2-posix3_10.46-1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../134-libpcre2-dev_10.46-1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.46-1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../135-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpng-dev:arm64. Preparing to unpack .../136-libpng-dev_1.6.50-1_arm64.deb ... Unpacking libpng-dev:arm64 (1.6.50-1) ... Selecting previously unselected package libbz2-dev:arm64. Preparing to unpack .../137-libbz2-dev_1.0.8-6_arm64.deb ... Unpacking libbz2-dev:arm64 (1.0.8-6) ... Selecting previously unselected package liblzma-dev:arm64. Preparing to unpack .../138-liblzma-dev_5.8.1-2_arm64.deb ... Unpacking liblzma-dev:arm64 (5.8.1-2) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../139-icu-devtools_76.1-4_arm64.deb ... Unpacking icu-devtools (76.1-4) ... Selecting previously unselected package libicu-dev:arm64. Preparing to unpack .../140-libicu-dev_76.1-4_arm64.deb ... Unpacking libicu-dev:arm64 (76.1-4) ... Selecting previously unselected package libxmuu1:arm64. Preparing to unpack .../141-libxmuu1_2%3a1.1.3-3+b4_arm64.deb ... Unpacking libxmuu1:arm64 (2:1.1.3-3+b4) ... Selecting previously unselected package xauth. Preparing to unpack .../142-xauth_1%3a1.1.2-1.1_arm64.deb ... Unpacking xauth (1:1.1.2-1.1) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../143-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../144-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../145-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package libtirpc-dev:arm64. Preparing to unpack .../146-libtirpc-dev_1.3.6+ds-1_arm64.deb ... Unpacking libtirpc-dev:arm64 (1.3.6+ds-1) ... Selecting previously unselected package libdeflate-dev:arm64. Preparing to unpack .../147-libdeflate-dev_1.23-2_arm64.deb ... Unpacking libdeflate-dev:arm64 (1.23-2) ... Selecting previously unselected package libzstd-dev:arm64. Preparing to unpack .../148-libzstd-dev_1.5.7+dfsg-2_arm64.deb ... Unpacking libzstd-dev:arm64 (1.5.7+dfsg-2) ... Selecting previously unselected package r-base-dev. Preparing to unpack .../149-r-base-dev_4.5.1-1_all.deb ... Unpacking r-base-dev (4.5.1-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../150-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libswitch-perl. Preparing to unpack .../151-libswitch-perl_2.17-3_all.deb ... Unpacking libswitch-perl (2.17-3) ... Selecting previously unselected package libclone-perl:arm64. Preparing to unpack .../152-libclone-perl_0.47-1+b1_arm64.deb ... Unpacking libclone-perl:arm64 (0.47-1+b1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../153-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../154-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../155-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../156-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../157-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../158-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../159-libhttp-message-perl_7.01-1_all.deb ... Unpacking libhttp-message-perl (7.01-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../160-libparams-util-perl_1.102-3+b1_arm64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../161-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../162-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:arm64. Preparing to unpack .../163-libb-hooks-op-check-perl_0.22-3+b2_arm64.deb ... Unpacking libb-hooks-op-check-perl:arm64 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../164-libdynaloader-functions-perl_0.004-2_all.deb ... Unpacking libdynaloader-functions-perl (0.004-2) ... Selecting previously unselected package libdevel-callchecker-perl:arm64. Preparing to unpack .../165-libdevel-callchecker-perl_0.009-2_arm64.deb ... Unpacking libdevel-callchecker-perl:arm64 (0.009-2) ... Selecting previously unselected package libparams-classify-perl:arm64. Preparing to unpack .../166-libparams-classify-perl_0.015-2+b4_arm64.deb ... Unpacking libparams-classify-perl:arm64 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../167-libmodule-runtime-perl_0.018-1_all.deb ... Unpacking libmodule-runtime-perl (0.018-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../168-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../169-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../170-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../171-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libclass-load-xs-perl. Preparing to unpack .../172-libclass-load-xs-perl_0.10-2+b4_arm64.deb ... Unpacking libclass-load-xs-perl (0.10-2+b4) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../173-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libdevel-globaldestruction-perl. Preparing to unpack .../174-libdevel-globaldestruction-perl_0.14-4_all.deb ... Unpacking libdevel-globaldestruction-perl (0.14-4) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../175-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../176-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../177-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libdevel-overloadinfo-perl. Preparing to unpack .../178-libdevel-overloadinfo-perl_0.008-1_all.deb ... Unpacking libdevel-overloadinfo-perl (0.008-1) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../179-libdevel-stacktrace-perl_2.0500-1_all.deb ... Unpacking libdevel-stacktrace-perl (2.0500-1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../180-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libeval-closure-perl. Preparing to unpack .../181-libeval-closure-perl_0.14-3_all.deb ... Unpacking libeval-closure-perl (0.14-3) ... Selecting previously unselected package libdist-checkconflicts-perl. Preparing to unpack .../182-libdist-checkconflicts-perl_0.11-2_all.deb ... Unpacking libdist-checkconflicts-perl (0.11-2) ... Selecting previously unselected package libmodule-runtime-conflicts-perl. Preparing to unpack .../183-libmodule-runtime-conflicts-perl_0.003-2_all.deb ... Unpacking libmodule-runtime-conflicts-perl (0.003-2) ... Selecting previously unselected package libpackage-deprecationmanager-perl. Preparing to unpack .../184-libpackage-deprecationmanager-perl_0.18-1_all.deb ... Unpacking libpackage-deprecationmanager-perl (0.18-1) ... Selecting previously unselected package libpackage-stash-xs-perl:arm64. Preparing to unpack .../185-libpackage-stash-xs-perl_0.30-1+b4_arm64.deb ... Unpacking libpackage-stash-xs-perl:arm64 (0.30-1+b4) ... Selecting previously unselected package libmoose-perl:arm64. Preparing to unpack .../186-libmoose-perl_2.4000-1_arm64.deb ... Unpacking libmoose-perl:arm64 (2.4000-1) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../187-libvariable-magic-perl_0.64-1+b1_arm64.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../188-libb-hooks-endofscope-perl_0.28-2_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../189-libsub-identify-perl_0.14-3+b3_arm64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsub-name-perl:arm64. Preparing to unpack .../190-libsub-name-perl_0.28-1_arm64.deb ... Unpacking libsub-name-perl:arm64 (0.28-1) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../191-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../192-libngtcp2-crypto-gnutls8_1.16.0-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.16.0-1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../193-libcurl3t64-gnutls_8.17.0~rc3-1_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.17.0~rc3-1) ... Selecting previously unselected package libwww-curl-perl:arm64. Preparing to unpack .../194-libwww-curl-perl_4.17-12_arm64.deb ... Unpacking libwww-curl-perl:arm64 (4.17-12) ... Selecting previously unselected package libwww-curl-simple-perl. Preparing to unpack .../195-libwww-curl-simple-perl_0.100191-3_all.deb ... Unpacking libwww-curl-simple-perl (0.100191-3) ... Selecting previously unselected package dh-r. Preparing to unpack .../196-dh-r_20250812_all.deb ... Unpacking dh-r (20250812) ... Selecting previously unselected package libabsl20240722:arm64. Preparing to unpack .../197-libabsl20240722_20240722.0-4_arm64.deb ... Unpacking libabsl20240722:arm64 (20240722.0-4) ... Selecting previously unselected package libabsl-dev:arm64. Preparing to unpack .../198-libabsl-dev_20240722.0-4_arm64.deb ... Unpacking libabsl-dev:arm64 (20240722.0-4) ... Selecting previously unselected package libssl-dev:arm64. Preparing to unpack .../199-libssl-dev_3.5.4-1_arm64.deb ... Unpacking libssl-dev:arm64 (3.5.4-1) ... Selecting previously unselected package r-cran-littler. Preparing to unpack .../200-r-cran-littler_0.3.21-2_arm64.deb ... Unpacking r-cran-littler (0.3.21-2) ... Selecting previously unselected package littler. Preparing to unpack .../201-littler_0.3.21-2_all.deb ... Unpacking littler (0.3.21-2) ... Selecting previously unselected package r-cran-pkgkitten. Preparing to unpack .../202-r-cran-pkgkitten_0.2.4-1_all.deb ... Unpacking r-cran-pkgkitten (0.2.4-1) ... Selecting previously unselected package r-cran-rcpp. Preparing to unpack .../203-r-cran-rcpp_1.1.0-1_arm64.deb ... Unpacking r-cran-rcpp (1.1.0-1) ... Selecting previously unselected package r-cran-wk. Preparing to unpack .../204-r-cran-wk_0.9.4-1_arm64.deb ... Unpacking r-cran-wk (0.9.4-1) ... Setting up libexpat1:arm64 (2.7.3-1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libgraphite2-3:arm64 (1.3.14-11) ... Setting up libpixman-1-0:arm64 (0.46.4-1) ... Setting up libtext-charwidth-perl:arm64 (0.04-11+b4) ... Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libxau6:arm64 (1:1.0.11-1) ... Setting up libxdmcp6:arm64 (1:1.1.5-1) ... Setting up libkeyutils1:arm64 (1.6.3-6) ... Setting up libxcb1:arm64 (1.17.0-2+b1) ... Setting up liblerc4:arm64 (4.0.0+ds-5) ... Setting up libzstd-dev:arm64 (1.5.7+dfsg-2) ... Setting up bsdextrautils (2.41.2-4) ... Setting up libdynaloader-functions-perl (0.004-2) ... Setting up libdatrie1:arm64 (0.2.13-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libxcb-render0:arm64 (1.17.0-2+b1) ... Setting up libclone-perl:arm64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libxml2-16:arm64 (2.14.6+dfsg-0.1) ... Setting up libtirpc-common (1.3.6+ds-1) ... Setting up unzip (6.0-29) ... Setting up libdebhelper-perl (13.28) ... Setting up libbrotli1:arm64 (1.1.0-2+b7) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:arm64 (1:5.46-5) ... Setting up x11-common (1:7.7+26) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libtry-tiny-perl (0.32-1) ... Setting up libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Setting up libdeflate0:arm64 (1.23-2) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-2) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libxcb-shm0:arm64 (1.17.0-2+b1) ... Setting up libcom-err2:arm64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libabsl20240722:arm64 (20240722.0-4) ... Setting up libtext-wrapi18n-perl (0.06-10) ... Setting up libjbig0:arm64 (2.1-6.1+b2) ... Setting up libpcre2-16-0:arm64 (10.46-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:arm64 (0.193-3) ... Setting up libkrb5support0:arm64 (1.21.3-5) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-10) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Dec 4 11:39:31 UTC 2026. Universal Time is now: Fri Dec 4 11:39:31 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up zip (3.0-15) ... Setting up libpackage-stash-xs-perl:arm64 (0.30-1+b4) ... Setting up autotools-dev (20240727.1) ... Setting up libpcre2-32-0:arm64 (10.46-1) ... Setting up libblas3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libjpeg62-turbo:arm64 (1:2.1.5-4) ... Setting up libswitch-perl (2.17-3) ... Setting up libx11-data (2:1.8.12-1) ... Setting up libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Setting up libncurses6:arm64 (6.5+20250216-2) ... Setting up libfribidi0:arm64 (1.0.16-3) ... Setting up libproc2-0:arm64 (2:4.0.4-9) ... Setting up libunistring5:arm64 (1.3-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libssl-dev:arm64 (3.5.4-1) ... Setting up libpng16-16t64:arm64 (1.6.50-1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up libtcl8.6:arm64 (8.6.17+dfsg-1) ... Setting up autopoint (0.23.1-2) ... Setting up libb-hooks-op-check-perl:arm64 (0.22-3+b2) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-5) ... Setting up libabsl-dev:arm64 (20240722.0-4) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-10) ... Setting up libgfortran5:arm64 (15.2.0-7) ... Setting up autoconf (2.72-3.1) ... Setting up libnghttp3-9:arm64 (1.12.0-1) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libwebp7:arm64 (1.5.0-0.1) ... Setting up libtimedate-perl (2.3300-2) ... Setting up liblzma-dev:arm64 (5.8.1-2) ... Setting up libsub-name-perl:arm64 (0.28-1) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libffi8:arm64 (3.5.2-2) ... Setting up libpcre2-posix3:arm64 (10.46-1) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libtiff6:arm64 (4.7.1-1) ... Setting up libuchardet0:arm64 (0.0.8-2) ... Setting up procps (2:4.0.4-9) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up libx11-6:arm64 (2:1.8.12-1) ... Setting up libthai-data (0.1.29-2) ... Setting up libdevel-globaldestruction-perl (0.14-4) ... Setting up libngtcp2-16:arm64 (1.16.0-1) ... Setting up libdevel-stacktrace-perl (2.0500-1) ... Setting up libkrb5-3:arm64 (1.21.3-5) ... Setting up libicu76:arm64 (76.1-4) ... Setting up libpaper2:arm64 (2.2.5-0.3+b2) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up openssl (3.5.4-1) ... Setting up libdeflate-dev:arm64 (1.23-2) ... Setting up readline-common (8.3-3) ... Setting up xdg-utils (1.2.1-2) ... update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode Setting up libldap2:arm64 (2.6.10+dfsg-1) ... Setting up liburi-perl (5.30-1) ... Setting up libxmuu1:arm64 (2:1.1.3-3+b4) ... Setting up libblas-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode Setting up dctrl-tools (2.24-3+b1) ... Setting up libbz2-dev:arm64 (1.0.8-6) ... Setting up automake (1:1.18.1-2) ... update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up libice6:arm64 (2:1.1.1-1) ... Setting up libhttp-date-perl (6.06-1) ... Setting up liblapack3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libncurses-dev:arm64 (6.5+20250216-2) ... Setting up gettext (0.23.1-2+b1) ... Setting up libpcre2-dev:arm64 (10.46-1) ... Setting up libxrender1:arm64 (1:0.9.12-1) ... Setting up libtool (2.5.4-7) ... Setting up fontconfig-config (2.15.0-2.4) ... Setting up libpng-dev:arm64 (1.6.50-1) ... Setting up libjpeg-dev:arm64 (1:2.1.5-4) ... Setting up libxext6:arm64 (2:1.3.4-1+b3) ... Setting up libidn2-0:arm64 (2.3.8-4) ... Setting up libpaper-utils (2.2.5-0.3+b2) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libdevel-callchecker-perl:arm64 (0.009-2) ... Setting up libgfortran-15-dev:arm64 (15.2.0-7) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (21) ... Setting up libthai0:arm64 (0.1.29-2+b1) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libglib2.0-0t64:arm64 (2.86.1-1) ... No schema files found: doing nothing. Setting up libfreetype6:arm64 (2.13.3+dfsg-1) ... Setting up gfortran-15-aarch64-linux-gnu (15.2.0-7) ... Setting up libp11-kit0:arm64 (0.25.9-2) ... Setting up liblapack-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode Setting up libgssapi-krb5-2:arm64 (1.21.3-5) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up icu-devtools (76.1-4) ... Setting up ucf (3.0052) ... Setting up libngtcp2-crypto-ossl0:arm64 (1.16.0-1) ... Setting up libreadline8t64:arm64 (8.3-3) ... Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up xauth (1:1.1.2-1.1) ... Setting up groff-base (1.23.0-9) ... Setting up libharfbuzz0b:arm64 (12.1.0-1) ... Setting up gfortran-aarch64-linux-gnu (4:15.2.0-4) ... Setting up libxss1:arm64 (1:1.2.3-1+b3) ... Setting up libfontconfig1:arm64 (2.15.0-2.4) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libsm6:arm64 (2:1.2.6-1) ... Setting up libicu-dev:arm64 (76.1-4) ... Setting up gfortran-15 (15.2.0-7) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libhttp-message-perl (7.01-1) ... Setting up libeval-closure-perl (0.14-3) ... Setting up libgnutls30t64:arm64 (3.8.10-3) ... Setting up fontconfig (2.15.0-2.4) ... Regenerating fonts cache... done. Setting up libxft2:arm64 (2.3.6-1+b4) ... Setting up libtirpc3t64:arm64 (1.3.6+ds-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libtk8.6:arm64 (8.6.17-1) ... Setting up libparams-classify-perl:arm64 (0.015-2+b4) ... Setting up libpango-1.0-0:arm64 (1.56.3-2) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up libreadline-dev:arm64 (8.3-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up gfortran (4:15.2.0-4) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up libcairo2:arm64 (1.18.4-1+b1) ... Setting up libtirpc-dev:arm64 (1.3.6+ds-1) ... Setting up libmodule-runtime-perl (0.018-1) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Setting up libxt6t64:arm64 (1:1.2.1-1.3) ... Setting up libdist-checkconflicts-perl (0.11-2) ... Setting up libpangoft2-1.0-0:arm64 (1.56.3-2) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.16.0-1) ... Setting up libpangocairo-1.0-0:arm64 (1.56.3-2) ... Setting up libcurl4t64:arm64 (8.17.0~rc3-1) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libcurl3t64-gnutls:arm64 (8.17.0~rc3-1) ... Setting up libwww-curl-perl:arm64 (4.17-12) ... Setting up debhelper (13.28) ... Setting up libmodule-runtime-conflicts-perl (0.003-2) ... Setting up libclass-load-perl (0.25-2) ... Setting up r-base-core (4.5.1-1) ... Creating config file /etc/R/Renviron with new version Setting up libpackage-deprecationmanager-perl (0.18-1) ... Setting up libdevel-overloadinfo-perl (0.008-1) ... Setting up libclass-load-xs-perl (0.10-2+b4) ... Setting up r-cran-wk (0.9.4-1) ... Setting up r-cran-pkgkitten (0.2.4-1) ... Setting up libb-hooks-endofscope-perl (0.28-2) ... Setting up r-cran-littler (0.3.21-2) ... Setting up r-cran-rcpp (1.1.0-1) ... Setting up r-base-dev (4.5.1-1) ... Setting up littler (0.3.21-2) ... Setting up libmoose-perl:arm64 (2.4000-1) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libwww-curl-simple-perl (0.100191-3) ... Setting up dh-r (20250812) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.2-1). Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/r-cran-s2-1.1.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../r-cran-s2_1.1.9-1_source.changes dpkg-buildpackage: info: source package r-cran-s2 dpkg-buildpackage: info: source version 1.1.9-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Nilesh Patra dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem R dh_auto_clean -O--buildsystem=R dh_autoreconf_clean -O--buildsystem=R dh_clean -O--buildsystem=R debian/rules binary dh binary --buildsystem R dh_update_autotools_config -O--buildsystem=R dh_autoreconf -O--buildsystem=R dh_auto_configure -O--buildsystem=R dh_auto_build -O--buildsystem=R dh_auto_test -O--buildsystem=R create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=R dh_prep -O--buildsystem=R dh_auto_install --destdir=debian/r-cran-s2/ -O--buildsystem=R I: R packages needed for DEP8: bit64, testthat (>= 3.0.0), vctrs I: R Package: s2 Version: 1.1.9 I: Building using R version 4.5.1-1 I: R API version: r-api-4.0 I: Using built-time from d/changelog: Sun, 26 Oct 2025 19:50:44 +0530 mkdir -p /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library R CMD INSTALL -l /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library --clean . --built-timestamp="'Sun, 26 Oct 2025 19:50:44 +0530'" * installing *source* package 's2' ... ** this is package 's2' version '1.1.9' files 'R/zzz.R', 'src/Makevars.in', 'src/s2/util/math/exactfloat/exactfloat.cc' have the wrong MD5 checksums ** using staged installation Found OpenSSL pkg-config cflags and libs! Testing compiler OpenSSL configuration using PKG_CFLAGS= ** Using PKG_CONFIG_PATH=:/build/reproducible-path/r-cran-s2-1.1.9/tools/pkgconfig ** Using abseil-cpp from pkg-config Testing Abseil configuration using PKG_CFLAGS= Using PKG_LIBS=-labsl_flags_internal -labsl_flags_marshalling -labsl_log_severity -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_raw_logging_internal -labsl_raw_logging_internal -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_throw_delegate -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_check_op -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_conditions -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_severity -labsl_log_severity -labsl_log_internal_proto -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_nullguard -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_log_sink_set -labsl_log_internal_globals -labsl_log_severity -labsl_log_globals -labsl_hash -labsl_city -labsl_bad_variant_access -labsl_low_level_hash -labsl_log_severity -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_severity -labsl_log_sink -labsl_log_entry -labsl_log_severity -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_stacktrace -labsl_strerror -labsl_str_format_internal -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -Wl,--push-state,--as-needed -latomic -Wl,--pop-state -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto Using PKG_CFLAGS= ** libs using C compiler: 'gcc (Debian 15.2.0-7) 15.2.0' using C++ compiler: 'g++ (Debian 15.2.0-7) 15.2.0' using C++17 make[1]: Entering directory '/build/reproducible-path/r-cran-s2-1.1.9/src' g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c cpp-compat.cpp -o cpp-compat.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-accessors.cpp -o s2-accessors.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from geography-operator.h:7, from s2-accessors.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-bounds.cpp -o s2-bounds.o In file included from s2/s2latlng_rect.h:29, from s2-bounds.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s1angle.h:28, from s2/s2latlng_rect.h:30: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s1chord_angle.h:31, from s2/s2cap.h:31, from s2-bounds.cpp:3: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-options.h:7, from s2-bounds.cpp:5: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2builder.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8, from s2-options.h:13: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-cell.cpp -o s2-cell.o In file included from ../src/s2/r2rect.h:26, from s2/s2cell_id.h:42, from s2-cell.cpp:8: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2-cell.cpp:9: s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2-cell.cpp:10: s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2convex_hull_query.h:26, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from s2-cell.cpp:12: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:46, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/r2.h:22, from s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:160:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2LatLng ll = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized(); | ^ s2-cell.cpp: In member function 'virtual SEXPREC* cpp_s2_cell_center(Rcpp::NumericVector)::Op::processCell(S2CellId, R_xlen_t)': s2-cell.cpp:357:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | return RGeography::MakeXPtr(RGeography::MakePoint(cellId.ToPoint())); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ geography.h: In static member function 'static std::unique_ptr RGeography::MakePoint(S2Point)': geography.h:41:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | static std::unique_ptr MakePoint(S2Point point) { | ^~~~~~~~~ s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:160:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2LatLng ll = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ In file included from s2geography/aggregator.h:4, from s2geography/accessors-geog.h:6: s2geography/geography.h: In constructor 's2geography::PointGeography::PointGeography(S2Point)': s2geography/geography.h:74:3: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | PointGeography(S2Point point) { points_.push_back(point); } | ^~~~~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:144:15: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 144 | NumericVector cpp_s2_cell_from_lnglat(List lnglat) { | ^~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-cell-union.cpp -o s2-cell-union.o In file included from ../src/s2/r2rect.h:26, from s2/s2cell_id.h:42, from s2-cell-union.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2-cell-union.cpp:3: s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2-cell-union.cpp:4: s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from s2/s2shape_index_buffered_region.h:29, from s2-cell-union.cpp:7: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r2.h:22, from s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2distance_target.h:26: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-constructors-formatters.cpp -o s2-constructors-formatters.o In file included from ../src/s2/s1angle.h:28, from s2/s2pointutil.h:25, from s2-constructors-formatters.cpp:6: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from s2-constructors-formatters.cpp:9: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:888:43: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 888 | R2Point Project(const S2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const': s2-constructors-formatters.cpp:895:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 895 | S2Point Unproject(const R2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:909:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::wrap_distance() const': s2-constructors-formatters.cpp:913:33: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 913 | R2Point wrap_distance() const {return R2Point(0, 0); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2geography.h:7: s2geography/constructor.h: In member function 'void s2geography::util::Constructor::finish_points()': s2geography/constructor.h:90:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | points_.push_back(options_.projection()->Unproject(R2Point(pt.x(), pt.y()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)': s2-constructors-formatters.cpp:373:55: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:889:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ^ s2-constructors-formatters.cpp:891:36: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 891 | return R2Point(out.y(), out.z()); | ^ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^~~~~~~~ s2-constructors-formatters.cpp:910:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 910 | return S2LatLng(Unproject(p)); | ~~~~~~~~~^~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~ s2-constructors-formatters.cpp:906:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~~~~^~ s2-constructors-formatters.cpp:906:32: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ^ s2-constructors-formatters.cpp: In function 'SEXPREC* c_s2_projection_orthographic(SEXP)': s2-constructors-formatters.cpp:948:69: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 948 | S2LatLng::FromDegrees(REAL(centre_sexp)[1], REAL(centre_sexp)[0]); | ^ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2-constructors-formatters.cpp: In function 'SEXPREC* c_s2_projection_orthographic(SEXP)': s2-constructors-formatters.cpp:948:26: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 948 | S2LatLng::FromDegrees(REAL(centre_sexp)[1], REAL(centre_sexp)[0]); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::wrap_distance() const': s2-constructors-formatters.cpp:913:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 913 | R2Point wrap_distance() const {return R2Point(0, 0); } | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const': s2-constructors-formatters.cpp:895:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 895 | S2Point Unproject(const R2Point& p) const { | ^~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 888 | R2Point Project(const S2Point& p) const { | ^~~~~~~ s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~ s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:906:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~~~~^~ s2-constructors-formatters.cpp:906:19: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~^~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:910:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 910 | return S2LatLng(Unproject(p)); | ~~~~~~~~~^~~ s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^~~~~~~~ s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const', inlined from 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const' at s2-constructors-formatters.cpp:910:30: s2-constructors-formatters.cpp:900:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 900 | S2Point out = S2::Rotate(pp, y_axis_, -centre_.lat()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 481 | int handle_points(const s2geography::PointGeography& geog, | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]': s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 481 | int handle_points(const s2geography::PointGeography& geog, | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2geography/constructor.h: In member function 'virtual s2geography::Handler::Result s2geography::util::PointConstructor::coords(const double*, int64_t, int32_t)': s2geography/constructor.h:129:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | points_.push_back(options_.projection()->Unproject(pt)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ s2-constructors-formatters.cpp: In function 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 521 | int handle_polylines(const s2geography::PolylineGeography& geog, | ^~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:548:9: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:548:9: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:550:9: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:550:9: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:566:11: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:566:11: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:568:11: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:568:11: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 626 | int handle_shell(const S2Polygon& poly, | ^~~~~~~~~~~~ s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:595:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:595:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:597:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:597:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:617:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:617:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2geography/constructor.h: In member function 'void s2geography::util::Constructor::finish_points()': s2geography/constructor.h:90:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | points_.push_back(options_.projection()->Unproject(R2Point(pt.x(), pt.y()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)': s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 453 | int last_coord_in_loop(const wk_meta_t* meta, const S2Point& point, wk_handler_t* handler) { | ^~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]': s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 626 | int handle_shell(const S2Polygon& poly, | ^~~~~~~~~~~~ s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-predicates.cpp -o s2-predicates.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-predicates.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2closest_edge_query.h:32, from s2-predicates.cpp:3: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2-predicates.cpp: In member function 'virtual int cpp_s2_intersects_box(Rcpp::List, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-predicates.cpp:213:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:213:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ^ s2-predicates.cpp:214:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ^ s2-predicates.cpp:226:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 226 | S2LatLngRect rect(S2LatLng::FromDegrees(ymin, xmin), S2LatLng::FromDegrees(ymax, xmax)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': ../src/s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ s2-predicates.cpp: In member function 'virtual int cpp_s2_intersects_box(Rcpp::List, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-predicates.cpp:213:50: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 199 | int processFeature(XPtr feature, R_xlen_t i) { | ^~~~~~~~~~~~~~ s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-predicates.cpp:213:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:213:80: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:80: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-transformers.cpp -o s2-transformers.o In file included from ../src/s2/s1angle.h:28, from s2/s2shape_index_buffered_region.h:23, from s2-transformers.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2shape_index_buffered_region.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from s2/s2shape_index_buffered_region.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2distance_target.h:26: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2-transformers.cpp: In member function 'virtual SEXPREC* cpp_s2_point_on_surface(Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-transformers.cpp:232:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 232 | S2Point result = s2geography::s2_point_on_surface(feature->Geog(), coverer); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c init.cpp -o init.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c RcppExports.cpp -o RcppExports.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-geography.cpp -o s2-geography.o In file included from ../src/s2/s1angle.h:28, from s2/s2latlng.h:32, from s2-geography.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2polyline.h:34, from s2-geography.cpp:3: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8, from geography.h:7, from s2-geography.cpp:6: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r2.h:22, from s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2/s2polygon.h:43, from s2-geography.cpp:4: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-lnglat.cpp -o s2-lnglat.o In file included from ../src/s2/s1angle.h:28, from s2/s2latlng.h:32, from s2-lnglat.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/r2.h:22, from s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2-lnglat.cpp: In function 'Rcpp::List s2_point_from_s2_lnglat(Rcpp::List)': s2-lnglat.cpp:43:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:43:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:43:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ s2-lnglat.cpp: In function 'int s2_point_trans(R_xlen_t, const double*, double*, void*)': s2-lnglat.cpp:53:85: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ^ s2-lnglat.cpp:53:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:53:85: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ^ s2-lnglat.cpp:53:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 52 | int s2_point_trans(R_xlen_t feature_id, const double* xyzm_in, double* xyzm_out, void* trans_data) { | ^~~~~~~~~~~~~~ s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:53:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:53:84: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp: In function 'Rcpp::List s2_point_from_s2_lnglat(Rcpp::List)': s2-lnglat.cpp:31:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | List s2_point_from_s2_lnglat(List s2_lnglat) { | ^~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:31:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:43:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:43:70: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-matrix.cpp -o s2-matrix.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-matrix.cpp:6: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2closest_edge_query.h:32, from s2-matrix.cpp:7: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c wk-impl.c -o wk-impl.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/accessors-geog.cc -o s2geography/accessors-geog.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2geography/accessors-geog.h:4, from s2geography/accessors-geog.cc:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/accessors-geog.cc: In function 'S2Point s2geography::s2_centroid(const Geography&)': s2geography/accessors-geog.cc:12:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 12 | S2Point s2_centroid(const Geography& geog) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/accessors.cc -o s2geography/accessors.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/accessors.h:4, from s2geography/accessors.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2geography/accessors.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2geography/accessors.cc:273:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | } // namespace s2geography | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/build.cc -o s2geography/build.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2point_vector_layer.h:27, from s2geography/build.h:4, from s2geography/build.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2point_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/coverings.cc -o s2geography/coverings.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography/coverings.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/mutable_s2shape_index.h:46, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/coverings.h:6: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/coverings.cc: In function 'S2Point s2geography::s2_point_on_surface(const Geography&, S2RegionCoverer&)': s2geography/coverings.cc:13:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 13 | S2Point s2_point_on_surface(const Geography& geog, S2RegionCoverer& coverer) { | ^~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/distance.cc -o s2geography/distance.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/distance.h:4, from s2geography/distance.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2closest_edge_query.h:32, from s2geography/distance.cc:4: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/distance.cc: In function 'S2Point s2geography::s2_closest_point(const ShapeIndexGeography&, const ShapeIndexGeography&)': s2geography/distance.cc:33:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 33 | S2Point s2_closest_point(const ShapeIndexGeography& geog1, | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/geography.cc -o s2geography/geography.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/geography.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2shape_index_region.h:29, from s2geography/geography.cc:12: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2shape_index_region.h:32: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/linear-referencing.cc -o s2geography/linear-referencing.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/linear-referencing.h:4, from s2geography/linear-referencing.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/linear-referencing.cc: In function 'double s2geography::s2_project_normalized(const PolylineGeography&, const S2Point&)': s2geography/linear-referencing.cc:17:76: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 17 | S2Point point_on_line = geog1.Polylines()[0]->Project(point, &next_vertex); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/predicates.cc -o s2geography/predicates.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2boolean_operation.h:26, from s2geography/predicates.h:4, from s2geography/predicates.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2cell_id_vector.cc -o s2/encoded_s2cell_id_vector.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/encoded_s2cell_id_vector.h:29, from s2/encoded_s2cell_id_vector.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2point_vector.cc -o s2/encoded_s2point_vector.o In file included from ../src/s2/encoded_s2point_vector.h:30, from s2/encoded_s2point_vector.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/encoded_s2point_vector.cc:36: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/encoded_s2point_vector.cc: In member function 'std::vector s2coding::EncodedS2PointVector::Decode() const': s2/encoded_s2point_vector.cc:142:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 142 | points.push_back((*this)[i]); | ~~~~~~~~~^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/encoded_s2point_vector.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2/encoded_s2point_vector.cc:870:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 870 | } // namespace s2coding | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2shape_index.cc -o s2/encoded_s2shape_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/encoded_s2cell_id_vector.h:29, from ../src/s2/encoded_s2shape_index.h:30, from s2/encoded_s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_string_vector.cc -o s2/encoded_string_vector.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/id_set_lexicon.cc -o s2/id_set_lexicon.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/mutable_s2shape_index.cc -o s2/mutable_s2shape_index.o In file included from ../src/s2/mutable_s2shape_index.h:39, from s2/mutable_s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/mutable_s2shape_index.cc:48: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/mutable_s2shape_index.cc: In static member function 'static S2Point MutableS2ShapeIndex::InteriorTracker::Origin()': s2/mutable_s2shape_index.cc:369:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 369 | S2Point MutableS2ShapeIndex::InteriorTracker::Origin() { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In constructor 'MutableS2ShapeIndex::InteriorTracker::InteriorTracker()': s2/mutable_s2shape_index.cc:366:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 366 | : b_(Origin()), next_cellid_(S2CellId::Begin(S2CellId::kMaxLevel)) { | ^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc: In member function 'std::unique_ptr MutableS2ShapeIndex::Release(int)': s2/mutable_s2shape_index.cc:556:72: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 556 | s2shapeutil::ContainsBruteForce(*shape, InteriorTracker::Origin()); | ~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::FinishPartialShape(int)': s2/mutable_s2shape_index.cc:1123:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1123 | tracker.MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::UpdateFaceEdges(int, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1258:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1258 | R2Rect bound = R2Rect::Empty(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:188:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | inline R2Rect R2Rect::FromPointPair(const R2Point& p1, const R2Point& p2) { | ^~~~~~ ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell&, const Iterator&, std::vector*, InteriorTracker*, EdgeAllocator*)': s2/mutable_s2shape_index.cc:1599:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1599 | tracker->MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc:1672:20: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1672 | clipped->bound = S2::GetClippedEdgeBound(face_edge.a, face_edge.b, | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1673 | pcell.bound()); | ~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell&, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1844:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1844 | tracker->MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/mutable_s2shape_index.cc: In static member function 'static S2Point MutableS2ShapeIndex::InteriorTracker::Origin()': s2/mutable_s2shape_index.cc:371:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 371 | return S2::FaceUVtoXYZ(0, -1, -1).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/mutable_s2shape_index.cc: In member function 'int MutableS2ShapeIndex::GetEdgeMaxLevel(const S2Shape::Edge&) const': s2/mutable_s2shape_index.cc:1188:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1188 | ((edge.v0 - edge.v1).Norm() * | ^~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell&, const Iterator&, std::vector*, InteriorTracker*, EdgeAllocator*)': s2/mutable_s2shape_index.cc:1575:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1575 | void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell& pcell, | ^~~~~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc:1575:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/mutable_s2shape_index.cc:1672:45: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1672 | clipped->bound = S2::GetClippedEdgeBound(face_edge.a, face_edge.b, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 1673 | pcell.bound()); | ~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell&, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1693:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1693 | bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell& pcell, | ^~~~~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::UpdateFaceEdges(int, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1258:31: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1258 | R2Rect bound = R2Rect::Empty(); | ~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::FinishPartialShape(int)': s2/mutable_s2shape_index.cc:1055:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1055 | void MutableS2ShapeIndex::FinishPartialShape(int shape_id) { | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/r2rect.cc -o s2/r2rect.o In file included from ../src/s2/r2rect.h:26, from s2/r2rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:43: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:48: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~~ s2/r2rect.cc:63:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | R1Interval xx = x().Expanded(margin.x()); | ^ s2/r2rect.cc:65:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 65 | if (xx.is_empty() || yy.is_empty()) return Empty(); | ^ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Expanded(double) const': ../src/s2/r1interval.h:181:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 181 | R1Interval Expanded(double margin) const { | ^~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^~~~~~ ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Union(const R2Rect&) const': s2/r2rect.cc:69:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | R2Rect R2Rect::Union(const R2Rect& other) const { | ^~~~~~ s2/r2rect.cc:70:26: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | return R2Rect(x().Union(other.x()), y().Union(other.y())); | ~~~~~~~~~^~~~~~~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Intersection(const R2Rect&) const': s2/r2rect.cc:73:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | R2Rect R2Rect::Intersection(const R2Rect& other) const { | ^~~~~~ s2/r2rect.cc:74:45: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | R1Interval xx = x().Intersection(other.x()); | ^ s2/r2rect.cc:76:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 76 | if (xx.is_empty() || yy.is_empty()) return Empty(); | ^ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Intersection(const R1Interval&) const': ../src/s2/r1interval.h:196:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 196 | R1Interval Intersection(const R1Interval& y) const { | ^~~~~~~~~~~~ s2/r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const R2Rect&)': s2/r2rect.cc:86:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const R2Rect&)': s2/r2rect.cc:86:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/r2rect.cc: In static member function 'static R2Rect R2Rect::FromCenterSize(const R2Point&, const R2Point&)': s2/r2rect.cc:25:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 25 | R2Rect R2Rect::FromCenterSize(const R2Point& center, const R2Point& size) { | ^~~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1angle.cc -o s2/s1angle.o In file included from ../src/s2/s1angle.h:28, from s2/s1angle.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s1angle.cc:26: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:18: required from 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double; FloatType = double]' 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ^~~~~~~~~ s2/s1angle.cc:30:23: required from here 30 | : radians_(x.Angle(y)) { | ~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1chord_angle.cc -o s2/s1chord_angle.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from s2/s1chord_angle.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1interval.cc -o s2/s1interval.o In file included from s2/s1interval.cc:18: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2boolean_operation.cc -o s2/s2boolean_operation.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2boolean_operation.h:26, from s2/s2boolean_operation.cc:67: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2/s2boolean_operation.cc:94: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2boolean_operation.cc: In member function 'bool S2BooleanOperation::Impl::AddIndexCrossing(const ShapeEdge&, const ShapeEdge&, bool, IndexCrossings*)': s2/s2boolean_operation.cc:2209:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 2209 | S2::GetIntersection(a.v0(), a.v1(), b.v0(), b.v1())); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2buffer_operation.cc -o s2/s2buffer_operation.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2buffer_operation.h:25, from s2/s2buffer_operation.cc:49: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2buffer_operation.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::Init(std::unique_ptr, const Options&)': s2/s2buffer_operation.cc:288:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 288 | ref_point_ = S2::Origin(); | ~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddPoint(const S2Point&)': s2/s2buffer_operation.cc:469:60: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | S2Point rotate_dir = point.CrossProd(start).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc:471:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 471 | S2Point dir = S2::GetPointOnRay(start, rotate_dir, angle); | ^ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:257:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | inline S2Point GetPointOnRay(const S2Point& origin, const S2Point& dir, | ^~~~~~~~~~~~~ ../src/s2/s2edge_distances.h:272:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:499:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 499 | S2Point dir = S2::GetPointOnRay(start, rotate_dir, angle); | ^ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ In file included from ../src/s2/s2buffer_operation.h:26: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::CloseVertexArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:506:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 506 | AddOffsetVertex(S2::GetPointOnRay(v, end, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:522:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 522 | S2Point rotate_dir = buffer_sign_ * a.CrossProd(ab_axis).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc:525:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S2Point p = S2::GetPointOnRay(a, rotate_dir, angle); | ^ s2/s2buffer_operation.cc: In member function 'S2Point S2BufferOperation::GetEdgeAxis(const S2Point&, const S2Point&) const': s2/s2buffer_operation.cc:488:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc:488:60: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc:488:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::CloseEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:535:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 535 | AddOffsetVertex(S2::GetPointOnRay(b, GetEdgeAxis(a, b), abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddStartCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:598:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 598 | AddVertexArc(a, axis.CrossProd(a).Normalize(), axis); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:606:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 606 | S2Point axis = GetEdgeAxis(a, b); | ^ s2/s2buffer_operation.cc:618:48: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | S2Point end = b.CrossProd(axis).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2buffer_operation.cc:64: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::Init(std::unique_ptr, const Options&)': s2/s2buffer_operation.cc:288:26: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 288 | ref_point_ = S2::Origin(); | ~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:496:68: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | S2Point rotate_dir = buffer_sign_ * v.CrossProd(start).Normalize(); | ^ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:613:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 613 | AddVertexArc(b, axis, -axis); | ^~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:496:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | S2Point rotate_dir = buffer_sign_ * v.CrossProd(start).Normalize(); | ~~~~~~~~~~~^~~~~~~ s2/s2buffer_operation.cc:500:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 500 | AddOffsetVertex(S2::GetPointOnRay(v, dir, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:522:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 522 | S2Point rotate_dir = buffer_sign_ * a.CrossProd(ab_axis).Normalize(); | ~~~~~~~~~~~^~~~~~~~~ s2/s2buffer_operation.cc:526:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 526 | AddOffsetVertex(S2::GetPointOnRay(p, ab_axis, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:618:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | S2Point end = b.CrossProd(axis).Normalize(); | ~~~~~~~~~~~^~~~~~ s2/s2buffer_operation.cc:605:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 605 | void S2BufferOperation::AddEndCap(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddStartCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:598:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 598 | AddVertexArc(a, axis.CrossProd(a).Normalize(), axis); | ~~~~~~~~~~~~~~^~~ s2/s2buffer_operation.cc:582:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | void S2BufferOperation::AddStartCap(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddPoint(const S2Point&)': s2/s2buffer_operation.cc:469:43: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | S2Point rotate_dir = point.CrossProd(start).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~ s2/s2buffer_operation.cc:472:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 472 | AddOffsetVertex(S2::GetPointOnRay(point, dir, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builder_graph.cc -o s2/s2builder_graph.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builder_graph.h:31, from s2/s2builder_graph.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builder.cc -o s2/s2builder.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2builder.cc:71: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2closest_edge_query.h:32, from s2/s2builder.cc:101: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2builder.cc: In member function 'void S2Builder::MaybeAddExtraSites(InputEdgeId, const std::vector&, const MutableS2ShapeIndex&, absl::debian7::flat_hash_set*)': s2/s2builder.cc:986:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 986 | S2::Project(v1, a0, a1)).Normalize(); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetSeparationSite(const S2Point&, const S2Point&, const S2Point&, InputEdgeId) const': s2/s2builder.cc:1094:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1094 | S2Point S2Builder::GetSeparationSite(const S2Point& site_to_avoid, | ^~~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetCoverageEndpoint(const S2Point&, const S2Point&) const': s2/s2builder.cc:1135:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1135 | S2Point S2Builder::GetCoverageEndpoint(const S2Point& p, const S2Point& n) | ^~~~~~~~~ s2/s2builder.cc:1156:28: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1156 | S2Point nXp = n.CrossProd(p); | ~~~~~~~~~~~^~~ s2/s2builder.cc:1163:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1163 | return (om + mr).Normalize(); | ^ s2/s2builder.cc:1163:29: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1163 | return (om + mr).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetSeparationSite(const S2Point&, const S2Point&, const S2Point&, InputEdgeId) const': s2/s2builder.cc:1120:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1120 | S2Point gap_max = GetCoverageEndpoint(v1, -n); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_closed_set_normalizer.cc -o s2/s2builderutil_closed_set_normalizer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_closed_set_normalizer.h:25, from s2/s2builderutil_closed_set_normalizer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_find_polygon_degeneracies.cc -o s2/s2builderutil_find_polygon_degeneracies.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_find_polygon_degeneracies.cc: In member function 'bool s2builderutil::{anonymous}::DegeneracyFinder::CrossingParity(VertexId, VertexId, bool) const': s2/s2builderutil_find_polygon_degeneracies.cc:262:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 262 | S2Point p0_ref = S2::RefDir(p0); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_get_snapped_winding_delta.cc -o s2/s2builderutil_get_snapped_winding_delta.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_get_snapped_winding_delta.h:24, from s2/s2builderutil_get_snapped_winding_delta.cc:50: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'int s2builderutil::GetSnappedWindingDelta(const S2Point&, VertexId, absl::debian7::Span, const InputEdgeFilter&, const S2Builder&, const Graph&, S2Error*)': s2/s2builderutil_get_snapped_winding_delta.cc:282:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 282 | S2Point z = S2::Ortho(ref_out); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'S2Point s2builderutil::{anonymous}::GetConnector(const S2Point&, const S2Point&, const S2Point&)': s2/s2builderutil_get_snapped_winding_delta.cc:176:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point GetConnector(const S2Point& b0, const S2Point& b1, | ^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:183:74: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2builderutil_get_snapped_winding_delta.cc:183:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:183:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:184:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | return (x.DotProd(S2::Interpolate(b0, b1, 0.5)) >= 0) ? x : -x; | ^ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'int s2builderutil::GetSnappedWindingDelta(const S2Point&, VertexId, absl::debian7::Span, const InputEdgeFilter&, const S2Builder&, const Graph&, S2Error*)': s2/s2builderutil_get_snapped_winding_delta.cc:335:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 335 | if (za.DotProd(ref_out) > 0) za = -za; | ^~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'S2Point s2builderutil::{anonymous}::GetConnector(const S2Point&, const S2Point&, const S2Point&)': s2/s2builderutil_get_snapped_winding_delta.cc:183:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:176:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point GetConnector(const S2Point& b0, const S2Point& b1, | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_lax_polygon_layer.cc -o s2/s2builderutil_lax_polygon_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_lax_polygon_layer.h:42, from s2/s2builderutil_lax_polygon_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_lax_polygon_layer.h:43: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_lax_polyline_layer.cc -o s2/s2builderutil_lax_polyline_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_lax_polyline_layer.h:27, from s2/s2builderutil_lax_polyline_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_lax_polyline_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2point_vector_layer.cc -o s2/s2builderutil_s2point_vector_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2point_vector_layer.h:27, from s2/s2builderutil_s2point_vector_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2point_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polygon_layer.cc -o s2/s2builderutil_s2polygon_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polygon_layer.h:42, from s2/s2builderutil_s2polygon_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polygon_layer.h:43: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2builderutil_s2polygon_layer.h:47: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polyline_layer.cc -o s2/s2builderutil_s2polyline_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polyline_layer.h:27, from s2/s2builderutil_s2polyline_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polyline_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polyline_vector_layer.cc -o s2/s2builderutil_s2polyline_vector_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polyline_vector_layer.h:27, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polyline_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_snap_functions.cc -o s2/s2builderutil_snap_functions.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2builderutil_snap_functions.h:23, from s2/s2builderutil_snap_functions.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_snap_functions.h:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IdentitySnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point IdentitySnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IntLatLngSnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:345:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 345 | S2Point IntLatLngSnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc:350:31: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 350 | return S2LatLng::FromDegrees(lat * to_degrees_, lng * to_degrees_).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc:350:78: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 350 | return S2LatLng::FromDegrees(lat * to_degrees_, lng * to_degrees_).ToPoint(); | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': ../src/s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IdentitySnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point IdentitySnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cap.cc -o s2/s2cap.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from s2/s2cap.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2cap.cc:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from s2/s2cap.cc:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2cell.h:27, from s2/s2cap.cc:32: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2edge_crossings.h:43, from ../src/s2/s2edge_distances.h:31, from s2/s2cap.cc:35: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cap.cc: In member function 'S2Point S2Cap::GetCentroid() const': s2/s2cap.cc:50:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point S2Cap::GetCentroid() const { | ^~~~~ s2/s2cap.cc:60:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | return r * GetArea() * center_; | ~~~~~~~~~~~~~~^~~~~~~~~ s2/s2cap.cc: In member function 'S2Cap S2Cap::Complement() const': s2/s2cap.cc:68:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return S2Cap(-center_, S1ChordAngle::FromLength2(4 - radius_.length2())); | ^~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/s2/s2cap.h:31: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cap.cc: In member function 'S2Cap S2Cap::Union(const S2Cap&) const': s2/s2cap.cc:135:73: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 135 | 0.5 * (distance - this_radius + other_radius)); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2cap.cc: In member function 'bool S2Cap::Intersects(const S2Cell&, const S2Point*) const': s2/s2cap.cc:244:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S2Point edge = cell.GetEdgeRaw(k); | ^ s2/s2cap.cc:260:43: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | Vector3_d dir = edge.CrossProd(center_); | ^ s2/s2cap.cc: In member function 'virtual bool S2Cap::Contains(const S2Cell&) const': s2/s2cap.cc:274:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 274 | vertices[k] = cell.GetVertex(k); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2cap.cc: In member function 'virtual bool S2Cap::MayIntersect(const S2Cell&) const': s2/s2cap.cc:287:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 287 | vertices[k] = cell.GetVertex(k); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2cap.cc: In member function 'S2Cap S2Cap::Complement() const': s2/s2cap.cc:68:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return S2Cap(-center_, S1ChordAngle::FromLength2(4 - radius_.length2())); | ^~~~~~~ s2/s2cap.cc: In member function 'S2Point S2Cap::GetCentroid() const': s2/s2cap.cc:60:26: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | return r * GetArea() * center_; | ^~~~~~~ s2/s2cap.cc:50:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point S2Cap::GetCentroid() const { | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_id.cc -o s2/s2cell_id.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/s2cell_id.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2cell_id.cc:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2cell_id.cc: In member function 'S2Point S2CellId::ToPointRaw() const': s2/s2cell_id.cc:379:32: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 379 | S2Point S2CellId::ToPointRaw() const { | ^~~~~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:31: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:33: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/s2cell_id.cc: In constructor 'S2CellId::S2CellId(const S2LatLng&)': s2/s2cell_id.cc:319:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | : S2CellId(ll.ToPoint()) { | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~~~~ s2/s2cell_id.cc:386:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 386 | return S2LatLng(ToPointRaw()); | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^~~~~~~~ s2/s2cell_id.cc: In member function 'R2Rect S2CellId::GetBoundST() const': s2/s2cell_id.cc:416:44: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~^~ s2/s2cell_id.cc:416:67: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ^ s2/s2cell_id.cc: In static member function 'static S2CellId S2CellId::FromFaceIJWrap(int, int, int)': s2/s2cell_id.cc:494:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 494 | face = S2::XYZtoFaceUV(S2::FaceUVtoXYZ(face, u, v), &u, &v); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2cell_id.cc: In constructor 'S2CellId::S2CellId(const S2LatLng&)': s2/s2cell_id.cc:318:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 318 | S2CellId::S2CellId(const S2LatLng& ll) | ^~~~~~~~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~~~~ s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:386:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 386 | return S2LatLng(ToPointRaw()); | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^~~~~~~~ s2/s2cell_id.cc: In member function 'R2Rect S2CellId::GetBoundST() const': s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 414 | R2Rect S2CellId::GetBoundST() const { | ^~~~~~~~ s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:416:44: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~^~ s2/s2cell_id.cc:416:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell_id.cc: In static member function 'static S2CellId S2CellId::FromFaceIJWrap(int, int, int)': s2/s2cell_id.cc:494:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 494 | face = S2::XYZtoFaceUV(S2::FaceUVtoXYZ(face, u, v), &u, &v); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_index.cc -o s2/s2cell_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2cell_index.h:31, from s2/s2cell_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_union.cc -o s2/s2cell_union.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_union.h:37, from s2/s2cell_union.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2cell_union.h:38: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from s2/s2cell_union.cc:35: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2cell_union.cc:37: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cell_union.cc: In member function 'virtual S2Cap S2CellUnion::GetCapBound() const': s2/s2cell_union.cc:238:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ~~~~~~~~~~^~ s2/s2cell_union.cc:238:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ~~~~~^~~~~~~~~~~~~~ s2/s2cell_union.cc:243:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | centroid = centroid.Normalize(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2cell_union.cc: In member function 'virtual S2Cap S2CellUnion::GetCapBound() const': s2/s2cell_union.cc:238:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ^ s2/s2cell_union.cc:243:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | centroid = centroid.Normalize(); | ~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell.cc -o s2/s2cell.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2cell.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2cell.cc:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43, from ../src/s2/s2edge_crosser.h:23, from s2/s2cell.cc:36: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from s2/s2cell.cc:37: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2cell.cc: In function 'R2Rect OppositeUV(const R2Rect&)': s2/s2cell.cc:530:49: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 530 | inline static R2Rect OppositeUV(const R2Rect& uv) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cell.cc: In constructor 'S2Cell::S2Cell(S2CellId)': s2/s2cell.cc:66:7: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | uv_ = S2CellId::IJLevelToBoundUV(ij, level_); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetEdgeRaw(int) const': s2/s2cell.cc:69:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point S2Cell::GetEdgeRaw(int k) const { | ^~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc: In member function 'bool S2Cell::Subdivide(S2Cell*) const': s2/s2cell.cc:85:36: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 85 | R2Point uv_mid = id_.GetCenterUV(); | ^ s2/s2cell.cc: In member function 'S2Point S2Cell::GetCenterRaw() const': s2/s2cell.cc:109:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | S2Point S2Cell::GetCenterRaw() const { | ^~~~~~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:124:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ^~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'double S2Cell::ExactArea() const': s2/s2cell.cc:141:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 141 | S2Point v0 = GetVertex(0); | ^ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:162:56: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~^~ s2/s2cell.cc:162:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetCenter() const': ../src/s2/r2rect.h:217:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | inline R2Point R2Rect::GetCenter() const { | ^~~~~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:195:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | int i = S2::GetUAxis(face_)[2] == 0 ? (u < 0) : (u > 0); | ~~~~~~~~~~~~^~~~~~~ s2/s2cell.cc:198:69: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | GetLatitude(1-i, 1-j)); | ^ s2/s2cell.cc:200:68: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 200 | GetLongitude(1-i, j)); | ^ s2/s2cell.cc:219:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | Expanded(S2LatLng::FromRadians(2 * DBL_EPSILON, 2 * DBL_EPSILON)). | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:244:44: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2cell.cc:266:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | return bound.Expanded(S2LatLng::FromRadians(DBL_EPSILON, 0)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::GetUAxis(int)': ../src/s2/s2coords.h:445:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 445 | inline S2Point GetUAxis(int face) { | ^~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'double S2Cell::GetLongitude(int, int) const': s2/s2cell.cc:176:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point p = S2::FaceUVtoXYZ(face_, uv_[0][i], uv_[1][j]); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:197:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 197 | inline constexpr S2LatLng S2LatLng::FromRadians(double lat_radians, | ^~~~~~~~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:300:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 300 | return uv_.Expanded(DBL_EPSILON).Contains(uv); | ~~~~~~~~~~~~^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetDistanceInternal(const S2Point&, bool) const': s2/s2cell.cc:366:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 366 | S2Point target = S2::FaceXYZtoUVW(face_, target_xyz); | ^ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Cell&) const': s2/s2cell.cc:538:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 538 | uv_.Intersects(OppositeUV(target.uv_))) { | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2cell.cc:551:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 551 | va[i] = GetVertex(i); | ~~~~~~^~~~~~~~~~~~~~ s2/s2cell.cc: In function 'R2Rect OppositeUV(const R2Rect&)': s2/s2cell.cc:530:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 530 | inline static R2Rect OppositeUV(const R2Rect& uv) { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:300:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 300 | return uv_.Expanded(DBL_EPSILON).Contains(uv); | ~~~~~~~~~~~~^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:195:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | int i = S2::GetUAxis(face_)[2] == 0 ? (u < 0) : (u > 0); | ~~~~~~~~~~~~^~~~~~~ s2/s2cell.cc:197:47: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 197 | R1Interval lat = R1Interval::FromPointPair(GetLatitude(i, j), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 198 | GetLatitude(1-i, 1-j)); | ~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:219:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | Expanded(S2LatLng::FromRadians(2 * DBL_EPSILON, 2 * DBL_EPSILON)). | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:244:44: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2cell.cc:266:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | return bound.Expanded(S2LatLng::FromRadians(DBL_EPSILON, 0)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:162:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:162:56: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~^~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Point&) const': s2/s2cell.cc:438:50: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 438 | return S1ChordAngle::Straight() - GetDistance(-target); | ^~~~~~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:277:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 277 | bool S2Cell::Contains(const S2Point& p) const { | ^~~~~~ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:165:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 165 | cap.AddPoint(GetVertex(k)); | ~~~~~~~~~^~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:180:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 180 | S2LatLngRect S2Cell::GetRectBound() const { | ^~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ s2/s2cell.cc: In constructor 'S2Cell::S2Cell(S2CellId)': s2/s2cell.cc:60:1: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | S2Cell::S2Cell(S2CellId id) { | ^~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetEdgeRaw(int) const': s2/s2cell.cc:69:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point S2Cell::GetEdgeRaw(int k) const { | ^~~~~~ s2/s2cell.cc: In member function 'bool S2Cell::Subdivide(S2Cell*) const': s2/s2cell.cc:78:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | bool S2Cell::Subdivide(S2Cell children[4]) const { | ^~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetCenterRaw() const': s2/s2cell.cc:109:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | S2Point S2Cell::GetCenterRaw() const { | ^~~~~~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'S2Point S2Cell::GetVertex(int) const', inlined from 'double S2Cell::ApproxArea() const' at s2/s2cell.cc:124:38: ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Cell&) const': s2/s2cell.cc:538:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 538 | uv_.Intersects(OppositeUV(target.uv_))) { | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2cell.cc:552:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | vb[i] = target.GetVertex(i); | ~~~~~~~~~~~~~~~~^~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2centroids.cc -o s2/s2centroids.o In file included from ../src/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:27:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 27 | S2Point PlanarCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~~~ s2/s2centroids.cc:28:17: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~~~~~~~~~~ s2/s2centroids.cc:28:26: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~ s2/s2centroids.cc:28:17: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:31:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | S2Point TrueCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~ s2/s2centroids.cc:68:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return 0.5 * S2Point(y.CrossProd(z).DotProd(r), | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | z.CrossProd(x).DotProd(r), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 | x.CrossProd(y).DotProd(r)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&)': s2/s2centroids.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point TrueCentroid(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~ s2/s2centroids.cc:82:28: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 82 | return sqrt(sin2 / cos2) * vsum; // Length == 2*sin(theta) | ~~~~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:28:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ^ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:70:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | x.CrossProd(y).DotProd(r)); | ^ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&)': s2/s2centroids.cc:78:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | S2Point vsum = a + b; // Length == 2*cos(theta) | ^ s2/s2centroids.cc:82:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 82 | return sqrt(sin2 / cos2) * vsum; // Length == 2*sin(theta) | ^~~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:27:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 27 | S2Point PlanarCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)' at s2/s2centroids.cc:41:27: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:31:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | S2Point TrueCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_cell_query.cc -o s2/s2closest_cell_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_cell_query.h:26, from s2/s2closest_cell_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_cell_query.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_cell_query_base.h:43, from ../src/s2/s2closest_cell_query.h:32: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36, from ../src/s2/s2closest_cell_query.h:33: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_edge_query.cc -o s2/s2closest_edge_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_edge_query.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_point_query.cc -o s2/s2closest_point_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_point_query.h:26, from s2/s2closest_point_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_point_query.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_point_query_base.h:36, from ../src/s2/s2closest_point_query.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_point_query_base.h:37: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2contains_vertex_query.cc -o s2/s2contains_vertex_query.o In file included from ../src/s2/s2contains_vertex_query.h:22, from s2/s2contains_vertex_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2contains_vertex_query.cc: In member function 'int S2ContainsVertexQuery::ContainsSign()': s2/s2contains_vertex_query.cc:39:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 39 | S2Point reference_dir = S2::RefDir(target_); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2convex_hull_query.cc -o s2/s2convex_hull_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/15/bits/stl_algobase.h:71, from /usr/include/c++/15/bits/stl_uninitialized.h:63, from /usr/include/c++/15/memory:71, from ../src/s2/s2convex_hull_query.h:21: /usr/include/c++/15/bits/predefined_ops.h: In instantiation of 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:4874:70: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2convex_hull_query.cc:130:12: required from here 130 | std::sort(points_.begin(), points_.end(), OrderedCcwAround(origin)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:164:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 164 | __iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In instantiation of '__gnu_cxx::__ops::_Val_comp_iter<_Compare> __gnu_cxx::__ops::__val_comp_iter(_Iter_comp_iter<_Compare>) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:1787:38: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1818:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1818 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1909:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1909 | std::__final_insertion_sort(__first, __last, __comp); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:4874:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2convex_hull_query.cc:130:12: required from here 130 | std::sort(points_.begin(), points_.end(), OrderedCcwAround(origin)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:252:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | __val_comp_iter(_Iter_comp_iter<_Compare> __comp) | ^~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()': s2/s2convex_hull_query.cc:129:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point origin = cap.center().Ortho(); | ~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::Ortho() const [with T = double]': ../src/s2/util/math/vector.h:477:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 477 | Vector3 Ortho() const { | ^~~~~ In file included from /usr/include/c++/15/algorithm:63, from ../src/s2/s2cap.h:21: /usr/include/c++/15/bits/stl_algo.h: In function 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:4862:5: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 4862 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | ^~~~ /usr/include/c++/15/bits/stl_algo.h:4874:18: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In function 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:164:5: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 164 | __iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:165:61: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 165 | { return _Iter_comp_iter<_Compare>(_GLIBCXX_MOVE(__comp)); } | ^ /usr/include/c++/15/bits/predefined_ops.h: In constructor 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::_Iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:150:7: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 150 | _Iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1901:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1901 | __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | ^~~~~~ In file included from /usr/include/c++/15/bits/stl_algo.h:61: /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | ^~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_val]': /usr/include/c++/15/bits/stl_heap.h:135:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 135 | __push_heap(_RandomAccessIterator __first, | ^~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1852:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1852 | __unguarded_partition_pivot(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__unguarded_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1799:39: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1799 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1800 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In function '__gnu_cxx::__ops::_Val_comp_iter<_Compare> __gnu_cxx::__ops::__val_comp_iter(_Iter_comp_iter<_Compare>) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:252:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | __val_comp_iter(_Iter_comp_iter<_Compare> __comp) | ^~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:253:60: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 253 | { return _Val_comp_iter<_Compare>(_GLIBCXX_MOVE(__comp)); } | ^ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1771:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1771 | __insertion_sort(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1786:43: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1786 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSinglePointLoop(const S2Point&)': s2/s2convex_hull_query.cc:187:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 187 | S2Point d1 = p.CrossProd(d0); | ~~~~~~~~~~~^~~~ s2/s2convex_hull_query.cc:190:50: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc:190:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~~~~~~^~~~ s2/s2convex_hull_query.cc:190:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~^~~~~~~~~~~~~~~ s2/s2convex_hull_query.cc:191:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ~~~~~~~~^~~~ s2/s2convex_hull_query.cc:191:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ~~~^~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:207:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | if (a == -b) return make_unique(S2Loop::kFull()); | ^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSinglePointLoop(const S2Point&)': s2/s2convex_hull_query.cc:190:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ^~ s2/s2convex_hull_query.cc:191:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ^~ s2/s2convex_hull_query.cc:191:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:207:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | if (a == -b) return make_unique(S2Loop::kFull()); | ^ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Val_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1751:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1751 | __unguarded_linear_insert(_RandomAccessIterator __last, | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1771:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1771 | __insertion_sort(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1786:43: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1786 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | ^~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1594:23, inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1869:25, inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1885:27: /usr/include/c++/15/bits/stl_heap.h:356:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | std::__adjust_heap(__first, __parent, __len, _GLIBCXX_MOVE(__value), | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 357 | __comp); | ~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:356:29: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__sort_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_heap.h:425:19, inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1870:23, inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1885:27: /usr/include/c++/15/bits/stl_heap.h:264:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 264 | std::__adjust_heap(__first, _DistanceType(0), | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _DistanceType(__last - __first), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | _GLIBCXX_MOVE(__value), __comp); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:264:25: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:195:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point& a, | ^~~~~~~~~~~~~~~~~ In member function 'Vector3 Vector3::Ortho() const [with T = double]', inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:129:38: ../src/s2/util/math/vector.h:482:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 482 | return CrossProd(temp).Normalize(); | ~~~~~~~~~^~~~~~ In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1906:32: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1906 | std::__introsort_loop(__first, __last, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 1907 | std::__lg(__last - __first) * 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1908 | __comp); | ~~~~~~~ In function 'void std::__unguarded_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1819:35, inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1909:31, inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1799:39: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1799 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1800 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1909:31, inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1823:30: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1823 | std::__insertion_sort(__first, __last, __comp); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2coords.cc -o s2/s2coords.o In file included from ../src/s2/s2coords.h:108, from s2/s2coords.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2coords.h:106: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2coords.cc: In function 'S2Point S2::FaceXYZtoUVW(int, const S2Point&)': s2/s2coords.cc:104:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | S2Point FaceXYZtoUVW(int face, const S2Point& p) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2coords.cc: In function 'S2Point S2::FaceSiTitoXYZ(int, unsigned int, unsigned int)': s2/s2coords.cc:142:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 142 | S2Point FaceSiTitoXYZ(int face, unsigned int si, unsigned int ti) { | ^~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2coords.cc: In function 'S2Point S2::FaceXYZtoUVW(int, const S2Point&)': s2/s2coords.cc:104:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | S2Point FaceXYZtoUVW(int face, const S2Point& p) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2crossing_edge_query.cc -o s2/s2crossing_edge_query.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2crossing_edge_query.h:30, from s2/s2crossing_edge_query.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23, from ../src/s2/s2crossing_edge_query.h:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2crossing_edge_query.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2crossing_edge_query.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const CellVisitor&)': s2/s2crossing_edge_query.cc:217:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const S2PaddedCell&, const CellVisitor&)': s2/s2crossing_edge_query.cc:254:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ^ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2PaddedCell&, const R2Rect&)': s2/s2crossing_edge_query.cc:285:38: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 285 | R2Point center = pcell.middle().lo(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:190:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | R1Interval::FromPointPair(p1.y(), p2.y())); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2PaddedCell&, const R2Rect&)': s2/s2crossing_edge_query.cc:285:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 285 | R2Point center = pcell.middle().lo(); | ~~~~~~~~~~~~~~~~~^~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const S2PaddedCell&, const CellVisitor&)': s2/s2crossing_edge_query.cc:254:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2debug.cc -o s2/s2debug.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2earth.cc -o s2/s2earth.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2earth.h:24, from s2/s2earth.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2earth.h:26: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:18: required from 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double; FloatType = double]' 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ^~~~~~~~~ ../src/s2/s2earth.h:241:33: required from here 241 | return RadiansToMeters(a.Angle(b)); | ~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_clipping.cc -o s2/s2edge_clipping.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_clipping.h:38, from s2/s2edge_clipping.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_clipping.h:39: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from s2/s2edge_clipping.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:126:58: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R2Point GetExitPoint(const S2PointUVW& n, int axis) { | ^ s2/s2edge_clipping.cc: In function 'R2Rect S2::GetClippedEdgeBound(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:418:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | const R2Rect& clip) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_clipping.h:37: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector2 Vector2::Ortho() const [with T = double]': s2/s2edge_clipping.cc:373:28: required from here 373 | R2Point n = (b - a).Ortho(); | ~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:408:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector2 Ortho() const { return Vector2(-c_[1], c_[0]); } | ^~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'void S2::GetFaceSegments(const S2Point&, const S2Point&, FaceSegmentVector*)': s2/s2edge_clipping.cc:230:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 230 | S2Point ab = S2::RobustCrossProd(a, b); | ^ s2/s2edge_clipping.cc:242:15: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | segment.b = GetExitPoint(n, exit_axis); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:248:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 248 | S2Point exit_xyz = S2::FaceUVtoXYZ(face, segment.b); | ^ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'int S2::MoveOriginToValidFace(int, const S2Point&, const S2Point&, R2Point*)': s2/s2edge_clipping.cc:155:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 155 | S2PointUVW n = S2::FaceXYZtoUVW(face, ab); | ^ s2/s2edge_clipping.cc:159:54: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | S2Point exit = S2::FaceUVtoXYZ(face, GetExitPoint(n, GetExitAxis(n))); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:159:73: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | S2Point exit = S2::FaceUVtoXYZ(face, GetExitPoint(n, GetExitAxis(n))); | ^ s2/s2edge_clipping.cc:160:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:160:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~^~ s2/s2edge_clipping.cc:160:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:161:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 161 | if ((exit - a).DotProd(a_tangent) >= -kFaceClipErrorRadians) { | ~~~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:126:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R2Point GetExitPoint(const S2PointUVW& n, int axis) { | ^~~~~~~~~~~~ In file included from s2/s2edge_clipping.cc:27: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::ClipToPaddedFace(const S2Point&, const S2Point&, int, double, R2Point*, R2Point*)': s2/s2edge_clipping.cc:352:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 352 | S2PointUVW a_tangent = n.CrossProd(a); | ~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:356:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | int a_score = ClipDestination(b, a, -scaled_n, b_tangent, a_tangent, | ^~~~~~~~~ s2/s2edge_clipping.cc: In function 'int S2::ClipDestination(const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, double, R2Point*)': s2/s2edge_clipping.cc:284:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 284 | *uv = scale_uv * GetExitPoint(scaled_n, GetExitAxis(scaled_n)); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:307:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | if ((p - a).DotProd(a_tangent) < 0) { | ~~~^~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:365:44: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 365 | R2Rect bound = R2Rect::FromPointPair(a, b); | ^ s2/s2edge_clipping.cc:373:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point n = (b - a).Ortho(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:188:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | inline R2Rect R2Rect::FromPointPair(const R2Point& p1, const R2Point& p2) { | ^~~~~~ ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector2 Vector2::Ortho() const [with T = double]': ../src/s2/util/math/vector.h:408:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector2 Ortho() const { return Vector2(-c_[1], c_[0]); } | ^~~~~ s2/s2edge_clipping.cc: In function 'R2Rect S2::GetClippedEdgeBound(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:417:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 417 | R2Rect GetClippedEdgeBound(const R2Point& a, const R2Point& b, | ^~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/s2edge_clipping.cc: In function 'bool S2::ClipEdge(const R2Point&, const R2Point&, const R2Rect&, R2Point*, R2Point*)': s2/s2edge_clipping.cc:441:44: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 441 | R2Rect bound = R2Rect::FromPointPair(a, b); | ^ s2/s2edge_clipping.cc:444:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 444 | *a_clipped = bound.GetVertex(ai, aj); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:451:1: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 451 | } // namespace S2 | ^ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2edge_clipping.cc: In function 'int S2::MoveOriginToValidFace(int, const S2Point&, const S2Point&, R2Point*)': s2/s2edge_clipping.cc:161:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 161 | if ((exit - a).DotProd(a_tangent) >= -kFaceClipErrorRadians) { | ^ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:373:28: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point n = (b - a).Ortho(); | ~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2edge_clipping.cc: In function 'int S2::ClipDestination(const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, double, R2Point*)': s2/s2edge_clipping.cc:307:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | if ((p - a).DotProd(a_tangent) < 0) { | ^ s2/s2edge_clipping.cc:284:64: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 284 | *uv = scale_uv * GetExitPoint(scaled_n, GetExitAxis(scaled_n)); | ^ s2/s2edge_clipping.cc:309:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 309 | } else if ((p - b).DotProd(b_tangent) < 0) { | ^ s2/s2edge_clipping.cc: In function 'void S2::GetFaceSegments(const S2Point&, const S2Point&, FaceSegmentVector*)': s2/s2edge_clipping.cc:242:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | segment.b = GetExitPoint(n, exit_axis); | ~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2edge_clipping.cc:205:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 205 | void GetFaceSegments(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:365:39: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 365 | R2Rect bound = R2Rect::FromPointPair(a, b); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_crosser.cc -o s2/s2edge_crosser.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_crossings.h:40: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_crossings.h:38: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2edge_crosser.h: In constructor 'S2EdgeCrosserBase::S2EdgeCrosserBase(ArgType, ArgType) [with PointRep = S2::internal::S2Point_PointerRep]': ../src/s2/s2edge_crosser.h:306:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 306 | : a_(a), b_(b), a_cross_b_(a_->CrossProd(*b_)), have_tangents_(false), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_PointerRep]': s2/s2edge_crosser.cc:55:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2Point norm = S2::RobustCrossProd(*a_, *b_); | ^~~~ s2/s2edge_crosser.cc:56:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | a_tangent_ = a_->CrossProd(norm); | ~~~~~~~~~~~~~^~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal(PointRep) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:29:5: note: parameter passing for argument of type 'S2::internal::S2Point_ValueRep' when C++17 is enabled changed to match C++14 in GCC 10.1 29 | int S2EdgeCrosserBase::CrossingSignInternal(PointRep d) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:55:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2Point norm = S2::RobustCrossProd(*a_, *b_); | ^~~~ s2/s2edge_crosser.cc:56:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | a_tangent_ = a_->CrossProd(norm); | ~~~~~~~~~~~~~^~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_PointerRep]': s2/s2edge_crosser.cc:40:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | inline int S2EdgeCrosserBase::CrossingSignInternal2( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2edge_crosser.h: In constructor 'S2EdgeCrosserBase::S2EdgeCrosserBase(ArgType, ArgType) [with PointRep = S2::internal::S2Point_ValueRep]': ../src/s2/s2edge_crosser.h:306:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 306 | : a_(a), b_(b), a_cross_b_(a_->CrossProd(*b_)), have_tangents_(false), | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:40:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | inline int S2EdgeCrosserBase::CrossingSignInternal2( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal(PointRep) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:29:5: note: parameter passing for argument of type 'S2::internal::S2Point_ValueRep' when C++17 is enabled changed to match C++14 in GCC 10.1 29 | int S2EdgeCrosserBase::CrossingSignInternal(PointRep d) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_crossings.cc -o s2/s2edge_crossings.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2edge_crossings.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_crossings.h:40: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^ s2/s2edge_crossings.cc: In function 'Vector3_d S2::SymbolicCrossProdSorted(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:170:76: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 170 | static Vector3_d SymbolicCrossProdSorted(const S2Point& a, const S2Point& b) { | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::ToS2Point(const Vector3_xf&)': s2/s2edge_crossings.cc:657:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 657 | inline static S2Point ToS2Point(const Vector3_xf& xf) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_crossings.h:38: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/s2point.h: In instantiation of 'static S2Point S2Point::Cast(const Vector3&) [with T = long double]': s2/s2edge_crossings.cc:492:28: required from here 492 | *result = S2Point::Cast(result_ld); | ~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2point.h:138:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | static S2Point Cast(const Vector3& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const long double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]': s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = int; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:295:42: required from here 295 | return ldexp(2, -1 - ilogb(p_max)) * p; | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = long double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = int; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const long double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = long double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:123:3: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ^ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:3: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:159:48: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | if (kHasLongDouble && GetStableCrossProd(ToLD(a), ToLD(b), &result_ld)) { | ~~~~^~~ s2/s2edge_crossings.cc:160:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ^ s2/s2edge_crossings.cc:160:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc:163:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ^ s2/s2edge_crossings.cc:163:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:26: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^~~~ ../src/s2/util/math/vector.h: In static member function 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:370:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 370 | if (a == c) return (b == d) || s2pred::OrderedCCW(S2::RefDir(a), d, b, a); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:679:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:679:48: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~^~~~~~ s2/s2edge_crossings.cc:679:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:693:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 693 | S2Point a_norm = ToS2Point(a_norm_xf); | ^ s2/s2edge_crossings.cc:695:61: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 695 | if (a_norm == S2Point(0, 0, 0)) a_norm = SymbolicCrossProd(a0, a1); | ~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2edge_crossings.cc:705:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 705 | return x; | ^ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::ToS2Point(const Vector3_xf&)': s2/s2edge_crossings.cc:657:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 657 | inline static S2Point ToS2Point(const Vector3_xf& xf) { | ^~~~~~~~~ s2/s2edge_crossings.cc:658:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 658 | return NormalizableFromExact(xf).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_crossings.cc: In function 'S2Point S2::GetIntersection(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:722:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 722 | S2Point GetIntersection(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStable(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:636:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 636 | T a_len2 = (a1 - a0).Norm2(); | ~~~~^~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableLD(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S2Point*)': s2/s2edge_crossings.cc:649:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 649 | if (GetIntersectionStable(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~^~~~ s2/s2edge_crossings.cc:651:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 651 | *result = S2Point::Cast(result_ld); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStable(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:636:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 636 | T a_len2 = (a1 - a0).Norm2(); | ~~~~^~~~~ ../src/s2/s2point.h: In static member function 'static S2Point S2Point::Cast(const Vector3&) [with T = long double]': ../src/s2/s2point.h:138:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | static S2Point Cast(const Vector3& b) { | ^~~~ ../src/s2/s2point.h:139:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 139 | return Base::Cast(b); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~^~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:370:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 370 | if (a == c) return (b == d) || s2pred::OrderedCCW(S2::RefDir(a), d, b, a); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::EnsureNormalizable(const Vector3_d&)': s2/s2edge_crossings.cc:788:1: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 788 | } // namespace S2 | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:159:57: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | if (kHasLongDouble && GetStableCrossProd(ToLD(a), ToLD(b), &result_ld)) { | ~~~~^~~ s2/s2edge_crossings.cc:160:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'T S2::GetProjection(const Vector3&, const Vector3&, T, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2edge_crossings.cc:513:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 513 | Vector3 x1 = x - a1; | ~~^~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableLD(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S2Point*)': s2/s2edge_crossings.cc:651:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 651 | *result = S2Point::Cast(result_ld); | ~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::NormalizableFromExact(const Vector3_xf&)': s2/s2edge_crossings.cc:305:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 305 | static Vector3_d NormalizableFromExact(const Vector3_xf& xf) { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableSorted(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:552:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | Vector3 a_norm = (a0 - a1).CrossProd(a0 + a1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableSorted(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:552:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | Vector3 a_norm = (a0 - a1).CrossProd(a0 + a1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::internal::SymbolicCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:327:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 327 | Vector3_d SymbolicCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:358:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 358 | bool VertexCrossing(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::internal::ExactCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:336:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 336 | Vector3_d ExactCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~ In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]', inlined from 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)' at s2/s2edge_crossings.cc:159:43: s2/s2edge_crossings.cc:123:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:163:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_crossings.cc:155:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 155 | return Ortho(a); | ~~~~~^~~ s2/s2edge_crossings.cc: In function 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:666:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 666 | S2Point GetIntersectionExact(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:666:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'S2Point S2::ToS2Point(const Vector3_xf&)', inlined from 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)' at s2/s2edge_crossings.cc:679:48: s2/s2edge_crossings.cc:658:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 658 | return NormalizableFromExact(xf).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~^~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::GetIntersection(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:722:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 722 | S2Point GetIntersection(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_distances.cc -o s2/s2edge_distances.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_distances.h:29, from s2/s2edge_distances.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_distances.h:31: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:46:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc:50:65: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:50:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:50:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:51:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 51 | return GetPointOnRay(a, dir, r); | ^ ../src/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Normalize() const [with VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:187:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 187 | D Normalize() const { | ^~~~~~~~~ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:257:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | inline S2Point GetPointOnRay(const S2Point& origin, const S2Point& dir, | ^~~~~~~~~~~~~ ../src/s2/s2edge_distances.h:272:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:54:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc:56:65: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:56:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:56:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:57:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | return GetPointOnRay(a, dir, r); | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1Angle)': ../src/s2/s2edge_distances.h:283:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointToLeft(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:60:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | S2Point GetPointToLeft(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointToLeft(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:64:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 64 | S2Point GetPointToLeft(const S2Point& a, const S2Point& b, S1ChordAngle r) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = true]': s2/s2edge_distances.cc:138:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | double ab2 = (a - b).Norm2(); | ~~~^~~~ s2/s2edge_distances.cc:175:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 175 | S2Point cx = c.CrossProd(x); | ~~~~~~~~~~~^~~ s2/s2edge_distances.cc:176:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | if ((a - x).DotProd(cx) >= 0 || (b - x).DotProd(cx) <= 0) { | ~~~^~~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = false]': s2/s2edge_distances.cc:175:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 175 | S2Point cx = c.CrossProd(x); | ~~~~~~~~~~~^~~ s2/s2edge_distances.cc:176:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | if ((a - x).DotProd(cx) >= 0 || (b - x).DotProd(cx) <= 0) { | ~~~^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::UpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle*)': s2/s2edge_distances.cc:252:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | double xa2 = (x - a).Norm2(), xb2 = (x - b).Norm2(); | ~~~^~~~ s2/s2edge_distances.cc: In function 'S2Point S2::Project(const S2Point&, const S2Point&, const S2Point&, const Vector3_d&)': s2/s2edge_distances.cc:307:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | S2Point n = a_cross_b.Normalize(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:308:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:308:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:313:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 313 | return p; | ^ s2/s2edge_distances.cc: In function 'bool S2::IsEdgeBNearEdgeA(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:474:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 474 | .Normalize(); | ~~~~~~~~~~^~ s2/s2edge_distances.cc:473:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc:473:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = true]': s2/s2edge_distances.cc:138:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | double ab2 = (a - b).Norm2(); | ~~~^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2edge_distances.cc: In function 'bool S2::UpdateMaxDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle*)': s2/s2edge_distances.cc:237:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 237 | AlwaysUpdateMinDistance(-x, a, b, &dist); | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:272:20: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:46:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:56:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:54:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::Project(const S2Point&, const S2Point&, const S2Point&, const Vector3_d&)': s2/s2edge_distances.cc:308:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:283:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S2Point Project(const S2Point& x, const S2Point& a, const S2Point& b, | ^~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::IsEdgeBNearEdgeA(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:473:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc:401:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 401 | bool IsEdgeBNearEdgeA(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_tessellator.cc -o s2/s2edge_tessellator.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_tessellator.h:24, from s2/s2edge_tessellator.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2projections.h:28, from ../src/s2/s2edge_tessellator.h:27: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_distances.h:31, from s2/s2edge_tessellator.cc:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_tessellator.h:23: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const': s2/s2edge_tessellator.cc:210:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 210 | S2Point mid1 = S2::Interpolate(a, b, t1); | ^ s2/s2edge_tessellator.cc:212:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:212:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ^ s2/s2edge_tessellator.cc:213:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const S2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:219:31: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | R2Point pa = proj_.Project(a); | ^ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:242:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | S2Point mid = (a + b).Normalize(); | ^ s2/s2edge_tessellator.cc:243:64: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | R2Point pmid = proj_.WrapDestination(pa, proj_.Project(mid)); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const R2Point&, std::vector*) const': s2/s2edge_tessellator.cc:251:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 251 | S2Point a = proj_.Unproject(pa); | ^ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector*) const': s2/s2edge_tessellator.cc:273:47: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | R2Point pb = proj_.WrapDestination(pa, pb_in); | ^ s2/s2edge_tessellator.cc:278:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 278 | S2Point mid = proj_.Unproject(pmid); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from ../src/s2/s2edge_tessellator.h:25: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:242:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | S2Point mid = (a + b).Normalize(); | ^ s2/s2edge_tessellator.cc: In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const': s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 199 | S1ChordAngle S2EdgeTessellator::EstimateMaxError( | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const', inlined from 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const' at s2/s2edge_tessellator.cc:199:14: s2/s2edge_tessellator.cc:212:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:212:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:235:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | void S2EdgeTessellator::AppendProjected(const R2Point& pa, const S2Point& a, | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector*) const': s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | void S2EdgeTessellator::AppendUnprojected( | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:273:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | R2Point pb = proj_.WrapDestination(pa, pb_in); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_tessellator.cc:278:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 278 | S2Point mid = proj_.Unproject(pmid); | ~~~~~~~~~~~~~~~^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2error.cc -o s2/s2error.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2furthest_edge_query.cc -o s2/s2furthest_edge_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2furthest_edge_query.h:29, from s2/s2furthest_edge_query.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2furthest_edge_query.h:31: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2furthest_edge_query.h:33: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2furthest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2hausdorff_distance_query.cc -o s2/s2hausdorff_distance_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2hausdorff_distance_query.h:23, from s2/s2hausdorff_distance_query.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2min_distance_targets.h:32, from ../src/s2/s2hausdorff_distance_query.h:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2min_distance_targets.h:35: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2hausdorff_distance_query.cc: In function 'void {anonymous}::UpdateMaxDistance(const S2Point&, S2ClosestEdgeQuery&, S1ChordAngle&, S2Point&, S2Point&)': s2/s2hausdorff_distance_query.cc:56:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | source_point = closest_edge_query.Project(point, closest_edge); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng_rect_bounder.cc -o s2/s2latlng_rect_bounder.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from ../src/s2/s2latlng_rect_bounder.h:21, from s2/s2latlng_rect_bounder.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2latlng_rect_bounder.h:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from s2/s2latlng_rect_bounder.cc:30: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ s2/s2latlng_rect_bounder.cc: In static member function 'static S2LatLng S2LatLngRectBounder::MaxErrorForTests()': s2/s2latlng_rect_bounder.cc:344:48: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | S2LatLng S2LatLngRectBounder::MaxErrorForTests() { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': s2/s2latlng_rect_bounder.cc:58:37: required from here 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~~~~~~~~~~~~~~~^~~~~~~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddLatLng(const S2LatLng&)': s2/s2latlng_rect_bounder.cc:42:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | AddInternal(b_latlng.ToPoint(), b_latlng); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddInternal(const S2Point&, const S2LatLng&)': s2/s2latlng_rect_bounder.cc:58:44: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:58:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~^~~~ s2/s2latlng_rect_bounder.cc:58:44: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:91:77: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 91 | b_latlng.lng().radians()); | ^ s2/s2latlng_rect_bounder.cc:105:77: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 105 | b_latlng.lat().radians()); | ^ s2/s2latlng_rect_bounder.cc:112:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | Vector3_d m = n.CrossProd(S2Point(0, 0, 1)); | ^ s2/s2latlng_rect_bounder.cc:163:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | double lat_budget_z = 0.5 * (a_ - b).Norm() * sin(max_lat); | ~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2latlng_rect_bounder.cc: In member function 'S2LatLngRect S2LatLngRectBounder::GetBound() const': s2/s2latlng_rect_bounder.cc:209:71: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 209 | const S2LatLng kExpansion = S2LatLng::FromRadians(2 * DBL_EPSILON, 0); | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ s2/s2latlng_rect_bounder.cc: In member function 'S2LatLngRect S2LatLngRectBounder::GetBound() const': s2/s2latlng_rect_bounder.cc:209:52: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 209 | const S2LatLng kExpansion = S2LatLng::FromRadians(2 * DBL_EPSILON, 0); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddInternal(const S2Point&, const S2LatLng&)': s2/s2latlng_rect_bounder.cc:58:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:99:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | lng_ab = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect_bounder.cc:104:52: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | R1Interval lat_ab = R1Interval::FromPointPair(a_latlng_.lat().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | b_latlng.lat().radians()); | ~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc:163:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | double lat_budget_z = 0.5 * (a_ - b).Norm() * sin(max_lat); | ^ s2/s2latlng_rect_bounder.cc:58:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2latlng_rect_bounder.cc:45:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | void S2LatLngRectBounder::AddInternal(const S2Point& b, | ^~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddLatLng(const S2LatLng&)': s2/s2latlng_rect_bounder.cc:41:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | void S2LatLngRectBounder::AddLatLng(const S2LatLng& b_latlng) { | ^~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc: In static member function 'static S2LatLng S2LatLngRectBounder::MaxErrorForTests()': s2/s2latlng_rect_bounder.cc:344:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | S2LatLng S2LatLngRectBounder::MaxErrorForTests() { | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng_rect.cc -o s2/s2latlng_rect.o In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2latlng_rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng_rect.h:30: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s1chord_angle.h:31, from s2/s2latlng_rect.cc:30: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2cell.h:27, from s2/s2latlng_rect.cc:33: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from s2/s2latlng_rect.cc:35: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from s2/s2latlng_rect.cc:36: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromCenterSize(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:49:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 49 | return FromPoint(center).Expanded(0.5 * size); | ~~~~^~~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator*(double, const S2LatLng&)': ../src/s2/s2latlng.h:269:21: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return S2LatLng(m * a.coords_); | ~~^~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:67:48: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return S2LatLngRect(R1Interval::FromPointPair(p1.lat().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 68 | p2.lat().radians()), | ~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:69:48: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S1Interval::FromPointPair(p1.lng().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 70 | p2.lng().radians())); | ~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:216:56: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R1Interval lat = lat_.Expanded(margin.lat().radians()); | ^ s2/s2latlng_rect.cc:217:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | S1Interval lng = lng_.Expanded(margin.lng().radians()); | ^ s2/s2latlng_rect.cc:219:39: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | return S2LatLngRect(lat.Intersection(FullLat()), lng); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::PolarClosure() const': s2/s2latlng_rect.cc:224:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | return S2LatLngRect(lat_, S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Union(const S2LatLngRect&) const': s2/s2latlng_rect.cc:230:33: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 230 | return S2LatLngRect(lat_.Union(other.lat_), | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2latlng_rect.cc:231:33: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 231 | lng_.Union(other.lng_)); | ~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Union(const R1Interval&) const': ../src/s2/r1interval.h:188:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | R1Interval Union(const R1Interval& y) const { | ^~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Intersection(const S2LatLngRect&) const': s2/s2latlng_rect.cc:236:48: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 236 | S1Interval lng = lng_.Intersection(other.lng_); | ^ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle) const': s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:254:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:262:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 262 | lat().lo() <= FullLat().lo() && lng().is_full() ? | ~~~~~~~^~ s2/s2latlng_rect.cc:283:59: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S1Interval lng_result = lng().Expanded(-max_lng_margin); | ^ s2/s2latlng_rect.cc: In member function 'virtual S2Cap S2LatLngRect::GetCapBound() const': s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:317:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~^~ s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:319:33: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:319:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:390:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:390:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:391:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 391 | S2LatLng::FromRadians(lat.hi(), lng).ToPoint()) > 0; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:391:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 391 | S2LatLng::FromRadians(lat.hi(), lng).ToPoint()) > 0; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:404:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 404 | if (z[2] < 0) z = -z; | ~~^~~~ s2/s2latlng_rect.cc:408:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector3_d y = S2::RobustCrossProd(z, S2Point(0, 0, 1)).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:409:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 409 | Vector3_d x = y.CrossProd(z); | ^ s2/s2latlng_rect.cc:432:40: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 432 | atan2(b.DotProd(y), b.DotProd(x))); | ^ s2/s2latlng_rect.cc:436:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 436 | S2Point isect = x * cos_theta + y * sin_theta; | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'bool S2LatLngRect::Intersects(const S2Cell&) const': s2/s2latlng_rect.cc:453:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 453 | if (Contains(cell.GetCenterRaw())) return true; | ~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:454:30: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~^~ s2/s2latlng_rect.cc:454:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:469:32: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:469:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:478:69: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 478 | cell_ll[i].lng().radians(), cell_ll[(i+1)&3].lng().radians()); | ^ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ^~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLngRect&) const': s2/s2latlng_rect.cc:525:74: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S1Interval lo_hi = S1Interval::FromPointPair(a.lng().lo(), b.lng().hi()); | ^ s2/s2latlng_rect.cc:540:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 540 | S2Point a_lo = S2LatLng(a.lat_lo(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLng&) const': s2/s2latlng_rect.cc:572:37: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 572 | S2Point lo = S2LatLng::FromRadians(a.lat().lo(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:572:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 572 | S2Point lo = S2LatLng::FromRadians(a.lat().lo(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:573:37: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 573 | S2Point hi = S2LatLng::FromRadians(a.lat().hi(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:573:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 573 | S2Point hi = S2LatLng::FromRadians(a.lat().hi(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc: In static member function 'static S1Angle S2LatLngRect::GetDirectedHausdorffDistance(double, const R1Interval&, const R1Interval&)': s2/s2latlng_rect.cc:638:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 638 | S2Point b_lo = S2LatLng::FromRadians(b.lo(), b_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:638:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 638 | S2Point b_lo = S2LatLng::FromRadians(b.lo(), b_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:639:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 639 | S2Point b_hi = S2LatLng::FromRadians(b.hi(), b_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:639:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 639 | S2Point b_hi = S2LatLng::FromRadians(b.hi(), b_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:646:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 646 | S2Point a_lo = S2LatLng::FromRadians(a.lo(), 0).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2latlng_rect.cc:646:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 646 | S2Point a_lo = S2LatLng::FromRadians(a.lo(), 0).ToPoint(); | ^ s2/s2latlng_rect.cc:647:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 647 | S2Point a_hi = S2LatLng::FromRadians(a.hi(), 0).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2latlng_rect.cc:647:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 647 | S2Point a_hi = S2LatLng::FromRadians(a.hi(), 0).ToPoint(); | ^ s2/s2latlng_rect.cc: In static member function 'static S2Point S2LatLngRect::GetBisectorIntersection(const R1Interval&, double)': s2/s2latlng_rect.cc:688:20: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 688 | ortho_bisector = S2LatLng::FromRadians(lat_center - M_PI_2, lng); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:694:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return S2::RobustCrossProd(ortho_lng, ortho_bisector.ToPoint()); | ^ s2/s2latlng_rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)': s2/s2latlng_rect.cc:735:29: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 735 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static S2Point S2LatLngRect::GetBisectorIntersection(const R1Interval&, double)': s2/s2latlng_rect.cc:688:43: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 688 | ortho_bisector = S2LatLng::FromRadians(lat_center - M_PI_2, lng); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::PolarClosure() const': s2/s2latlng_rect.cc:224:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | return S2LatLngRect(lat_, S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:390:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:216:33: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R1Interval lat = lat_.Expanded(margin.lat().radians()); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)': s2/s2latlng_rect.cc:735:29: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 735 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:404:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 404 | if (z[2] < 0) z = -z; | ^ ../src/s2/s2latlng.h: In function 'S2LatLng operator*(double, const S2LatLng&)': ../src/s2/s2latlng.h:269:25: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromCenterSize(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:49:43: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 49 | return FromPoint(center).Expanded(0.5 * size); | ^~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:59:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng& p1, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'virtual S2Cap S2LatLngRect::GetCapBound() const': s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 291 | S2Cap S2LatLngRect::GetCapBound() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:317:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~^~ s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:319:33: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:319:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetSize() const': s2/s2latlng_rect.cc:88:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 88 | S2LatLng S2LatLngRect::GetSize() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:215:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 215 | S2LatLngRect S2LatLngRect::Expanded(const S2LatLng& margin) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle) const': s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle distance) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:254:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:283:43: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S1Interval lng_result = lng().Expanded(-max_lng_margin); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:383:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 383 | bool S2LatLngRect::IntersectsLngEdge(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 394 | bool S2LatLngRect::IntersectsLatEdge(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:403:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 403 | Vector3_d z = S2::RobustCrossProd(a, b).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2latlng_rect.cc:430:50: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 430 | S1Interval ab_theta = S1Interval::FromPointPair( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 431 | atan2(a.DotProd(y), a.DotProd(x)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 432 | atan2(b.DotProd(y), b.DotProd(x))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLngRect&) const': s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | S1Angle S2LatLngRect::GetDistance(const S2LatLngRect& other) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:525:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S1Interval lo_hi = S1Interval::FromPointPair(a.lng().lo(), b.lng().hi()); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:540:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 540 | S2Point a_lo = S2LatLng(a.lat_lo(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'bool S2LatLngRect::Intersects(const S2Cell&) const': s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 447 | bool S2LatLngRect::Intersects(const S2Cell& cell) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:454:30: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~^~ s2/s2latlng_rect.cc:454:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:469:32: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:469:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:477:52: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 477 | S1Interval edge_lng = S1Interval::FromPointPair( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 478 | cell_ll[i].lng().radians(), cell_ll[(i+1)&3].lng().radians()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng.cc -o s2/s2latlng.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from s2/s2latlng.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~ In file included from ../src/s2/r2.h:22, from ../src/s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2latlng.cc: In member function 'S2LatLng S2LatLng::Normalized() const': s2/s2latlng.cc:55:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2LatLng S2LatLng::Normalized() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'std::string S2LatLng::ToStringInDegrees() const': s2/s2latlng.cc:106:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 106 | S2LatLng pt = Normalized(); | ^ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'std::string S2LatLng::ToStringInDegrees() const': s2/s2latlng.cc:105:8: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 105 | string S2LatLng::ToStringInDegrees() const { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_loop_shape.cc -o s2/s2lax_loop_shape.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2loop.h:34, from ../src/s2/s2lax_loop_shape.h:41, from s2/s2lax_loop_shape.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2loop.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_polygon_shape.cc -o s2/s2lax_polygon_shape.o In file included from ../src/s2/encoded_s2point_vector.h:30, from ../src/s2/s2lax_polygon_shape.h:31, from s2/s2lax_polygon_shape.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from ../src/s2/s2lax_polygon_shape.h:36: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2lax_polygon_shape.cc: In member function 'bool S2LaxPolygonShape::Init(Decoder*)': s2/s2lax_polygon_shape.cc:213:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | vertices_[i] = vertices[i]; g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_polyline_shape.cc -o s2/s2lax_polyline_shape.o In file included from ../src/s2/encoded_s2point_vector.h:30, from ../src/s2/s2lax_polyline_shape.h:28, from s2/s2lax_polyline_shape.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34, from ../src/s2/s2lax_polyline_shape.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2lax_polyline_shape.cc: In member function 'bool S2LaxPolylineShape::Init(Decoder*)': s2/s2lax_polyline_shape.cc:87:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | vertices_[i] = vertices[i]; g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2loop_measures.cc -o s2/s2loop_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2loop_measures.h:33, from s2/s2loop_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2loop_measures.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2edge_crossings.h:41: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2loop_measures.cc: In function 'S2Point S2::GetCentroid(S2PointLoopSpan)': s2/s2loop_measures.cc:265:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 265 | S2Point GetCentroid(S2PointLoopSpan loop) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/s2loop_measures.h: In instantiation of 'T S2::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&)) [with T = S2Point]': s2/s2loop_measures.cc:270:28: required from here 270 | return GetSurfaceIntegral(loop, S2::TrueCentroid); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2loop_measures.h:207:3: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | T GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:321:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ^~~~~~ ../src/s2/s2loop_measures.h:340:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 340 | origin = loop[0].CrossProd(old_origin); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2loop_measures.cc: In function 'S2Point S2::GetCentroid(S2PointLoopSpan)': s2/s2loop_measures.cc:265:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 265 | S2Point GetCentroid(S2PointLoopSpan loop) { | ^~~~~~~~~~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:340:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 340 | origin = loop[0].CrossProd(old_origin); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/s2loop_measures.h:346:21: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 346 | sum += f_tri(loop[0], old_origin, origin); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]' at ../src/s2/s2loop_measures.h:313:26: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:321:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]' at ../src/s2/s2loop_measures.h:322:31: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:257:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | void internal::GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]' at ../src/s2/s2loop_measures.h:313:26: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:321:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]' at ../src/s2/s2loop_measures.h:322:31: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:257:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | void internal::GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2loop.cc -o s2/s2loop.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2loop.h:34, from s2/s2loop.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2loop.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from s2/s2loop.cc:46: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2closest_edge_query.h:35, from s2/s2loop.cc:49: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::FindValidationErrorNoIndex(S2Error*) const': s2/s2loop.cc:234:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 234 | if (vertex(i) == -vertex(i + 1)) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2edge_crossings.h: In function 'bool S2::AngleContainsVertex(const S2Point&, const S2Point&, const S2Point&)': ../src/s2/s2edge_crossings.h:235:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | return !s2pred::OrderedCCW(S2::RefDir(b), c, a, b); | ~~~~~~~~~~^~~ s2/s2loop.cc: In member function 'void S2Loop::InitBound()': s2/s2loop.cc:312:72: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | b = S2LatLngRect(R1Interval(b.lat().lo(), M_PI_2), S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/s2loop.h: In member function 'virtual S2Shape::ReferencePoint S2Loop::Shape::GetReferencePoint() const': ../src/s2/s2loop.h:496:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | return ReferencePoint(S2::Origin(), loop_->contains_origin()); | ^ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2loop.cc: In member function 'void S2Loop::Invert()': s2/s2loop.cc:407:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | vertices_[0] = is_full() ? kEmptyVertex() : kFullVertex(); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:541:56: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 541 | R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^ s2/s2loop.cc: In member function 'bool S2Loop::BruteForceContains(const S2Point&) const': s2/s2loop.cc:599:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 599 | S2Point origin = S2::Origin(); | ^ ../src/s2/s2latlng_rect.h: In member function 'bool S2LatLngRect::is_full() const': ../src/s2/s2latlng_rect.h:423:25: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 423 | return lat_ == FullLat() && lng_.is_full(); | ~~~~~~~^~ s2/s2loop.cc: In static member function 'static std::unique_ptr S2Loop::MakeRegularLoop(const Matrix3x3_d&, S1Angle, int)': s2/s2loop.cc:1496:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1496 | vertices.push_back(S2::FromFrame(frame, p).Normalize()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2edge_crossings.h: In function 'bool S2::AngleContainsVertex(const S2Point&, const S2Point&, const S2Point&)': ../src/s2/s2edge_crossings.h:235:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | return !s2pred::OrderedCCW(S2::RefDir(b), c, a, b); | ~~~~~~~~~~^~~ ../src/s2/s2latlng_rect.h: In member function 'bool S2LatLngRect::is_full() const': ../src/s2/s2latlng_rect.h:423:25: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 423 | return lat_ == FullLat() && lng_.is_full(); | ~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2loop.cc: In member function 'bool S2Loop::FindValidationErrorNoIndex(S2Error*) const': s2/s2loop.cc:234:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 234 | if (vertex(i) == -vertex(i + 1)) { | ^ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:541:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 541 | R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BruteForceContains(const S2Point&) const': s2/s2loop.cc:599:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 599 | S2Point origin = S2::Origin(); | ~~~~~~~~~~^~ s2/s2loop.cc: In member function 'void S2Loop::InitBound()': s2/s2loop.cc:312:72: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | b = S2LatLngRect(R1Interval(b.lat().lo(), M_PI_2), S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2loop.cc: In member function 'S2Point S2Loop::GetCentroid() const': s2/s2loop.cc:430:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 430 | S2Point S2Loop::GetCentroid() const { | ^~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:526:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 526 | bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator& it, | ^~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::Contains(const MutableS2ShapeIndex::Iterator&, const S2Point&) const': s2/s2loop.cc:616:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 616 | S2Point center = it.center(); | ~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2max_distance_targets.cc -o s2/s2max_distance_targets.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2max_distance_targets.h:30: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2max_distance_targets.h:31: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2max_distance_targets.h:32: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistancePointTarget::GetCapBound()': s2/s2max_distance_targets.cc:42:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | return S2Cap(-point_, S1ChordAngle::Zero()); | ^~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/s2/s2max_distance_targets.h:28: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual bool S2MaxDistancePointTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2max_distance_targets.cc:71:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 71 | -point_, [this, &visitor](S2Shape* shape) { | ^~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistanceEdgeTarget::GetCapBound()': s2/s2max_distance_targets.cc:86:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return S2Cap(-(a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ^~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual bool S2MaxDistanceEdgeTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2max_distance_targets.cc:123:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | S2MaxDistancePointTarget target((a_ + b_).Normalize()); | ~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2max_distance_targets.cc:32: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::Contains(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:312:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | Contains(clipped, target.GetCenter())) { | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistancePointTarget::GetCapBound()': s2/s2max_distance_targets.cc:42:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | return S2Cap(-point_, S1ChordAngle::Zero()); | ^~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ In constructor 'S2MaxDistanceEdgeTarget::S2MaxDistanceEdgeTarget(const S2Point&, const S2Point&)', inlined from 'S2FurthestEdgeQuery::EdgeTarget::EdgeTarget(const S2Point&, const S2Point&)' at ../src/s2/s2furthest_edge_query.h:412:35, inlined from 'virtual bool S2MaxDistanceShapeIndexTarget::UpdateMinDistance(const S2Point&, const S2Point&, S2MaxDistance*)' at s2/s2max_distance_targets.cc:213:48: ../src/s2/s2max_distance_targets.h:236:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 236 | b_.Normalize(); | ~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2measures.cc -o s2/s2measures.o In file included from ../src/s2/s2measures.h:24, from s2/s2measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2measures.cc:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2edge_crossings.h:41: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2measures.cc: In function 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:41:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | return RobustCrossProd(a, b).Angle(RobustCrossProd(c, b)); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:52:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 52 | double angle = RobustCrossProd(a, b).Angle(RobustCrossProd(b, c)); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:154:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 154 | Vector3_d ab = RobustCrossProd(a, b); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::StableAngle(S2Point, S2Point)': s2/s2measures.cc:83:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 83 | return 2 * atan2((a - b).Norm(), (a + b).Norm()); | ^ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:41:37: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:38:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | double Angle(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:52:45: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:44:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 44 | double TurnAngle(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:157:27: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:148:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 148 | double GirardArea(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2memory_tracker.cc -o s2/s2memory_tracker.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2metrics.cc -o s2/s2metrics.o In file included from ../src/s2/s2coords.h:108, from ../src/s2/s2metrics.h:34, from s2/s2metrics.cc:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2coords.h:106: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2min_distance_targets.cc -o s2/s2min_distance_targets.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2min_distance_targets.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2min_distance_targets.h:35: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2min_distance_targets.h:30: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from s2/s2min_distance_targets.cc:33: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2min_distance_targets.cc: In member function 'virtual S2Cap S2MinDistanceEdgeTarget::GetCapBound()': s2/s2min_distance_targets.cc:75:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | return S2Cap((a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2min_distance_targets.cc: In member function 'virtual bool S2MinDistanceEdgeTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2min_distance_targets.cc:99:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2MinDistancePointTarget target((a_ + b_).Normalize()); | ~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2min_distance_targets.cc:39: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ s2/s2min_distance_targets.cc: In member function 'virtual bool S2MinDistanceCellUnionTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2min_distance_targets.cc:201:52: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 201 | S2MinDistancePointTarget target(cell_id.ToPoint()); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2min_distance_targets.cc: In member function 'virtual S2Cap S2MinDistanceEdgeTarget::GetCapBound()': s2/s2min_distance_targets.cc:75:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | return S2Cap((a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2padded_cell.cc -o s2/s2padded_cell.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2padded_cell.cc: In constructor 'S2PaddedCell::S2PaddedCell(S2CellId, double)': s2/s2padded_cell.cc:53:12: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | bound_ = S2CellId::IJLevelToBoundUV(ij, level_).Expanded(padding); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetCenter() const': s2/s2padded_cell.cc:92:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | S2Point S2PaddedCell::GetCenter() const { | ^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetEntryVertex() const': s2/s2padded_cell.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2PaddedCell::GetEntryVertex() const { | ^~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2CellId S2PaddedCell::ShrinkToFit(const R2Rect&) const': s2/s2padded_cell.cc:149:62: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 149 | R2Rect padded = rect.Expanded(padding() + 1.5 * DBL_EPSILON); | ^ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetCenter() const': s2/s2padded_cell.cc:92:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | S2Point S2PaddedCell::GetCenter() const { | ^~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2CellId S2PaddedCell::ShrinkToFit(const R2Rect&) const': s2/s2padded_cell.cc:126:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | S2CellId S2PaddedCell::ShrinkToFit(const R2Rect& rect) const { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2point_compression.cc -o s2/s2point_compression.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2point_compression.h:52, from s2/s2point_compression.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/s2point_compression.cc:29: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2point_compression.cc: In function 'bool S2DecodePointsCompressed(Decoder*, int, absl::debian7::Span)': s2/s2point_compression.cc:374:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 374 | points[i] = ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In function 'S2Point {anonymous}::FacePiQitoXYZ(int, int, int, int)', inlined from 'bool S2DecodePointsCompressed(Decoder*, int, absl::debian7::Span)' at s2/s2point_compression.cc:375:22: s2/s2point_compression.cc:204:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 204 | return S2::FaceUVtoXYZ(face, | ~~~~~~~~~~~~~~~^~~~~~ 205 | S2::STtoUV(PiQitoST(pi, level)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | S2::STtoUV(PiQitoST(qi, level))).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2point_region.cc -o s2/s2point_region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2point_region.h:25, from s2/s2point_region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2point_region.cc:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2point_region.cc:23: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2point_region.cc:24: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2pointutil.cc -o s2/s2pointutil.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2pointutil.cc: In function 'S2Point S2::Ortho(const S2Point&)': s2/s2pointutil.cc:47:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 47 | S2Point Ortho(const S2Point& a) { | ^~~~~ s2/s2pointutil.cc:57:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | return a.CrossProd(temp).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2pointutil.cc: In function 'S2Point S2::Rotate(const S2Point&, const S2Point&, S1Angle)': s2/s2pointutil.cc:61:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 61 | S2Point Rotate(const S2Point& p, const S2Point& axis, S1Angle angle) { | ^~~~~~ s2/s2pointutil.cc:69:36: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point center = p.DotProd(axis) * axis; | ~~~~~~~~~~~~~~~~^~~~~~ s2/s2pointutil.cc:70:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2Point dx = p - center; | ^~~~~~ s2/s2pointutil.cc:71:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 71 | S2Point dy = axis.CrossProd(p); | ~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc:74:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | return (cos(angle) * dx + sin(angle) * dy + center).Normalize(); | ^ s2/s2pointutil.cc:74:64: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | return (cos(angle) * dx + sin(angle) * dy + center).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'void S2::GetFrame(const S2Point&, Matrix3x3_d*)': s2/s2pointutil.cc:86:21: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | m->SetCol(1, Ortho(z)); | ~~~~~^~~ s2/s2pointutil.cc:87:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | m->SetCol(0, m->Col(1).CrossProd(z)); // Already unit-length. | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::ToFrame(const Matrix3x3_d&, const S2Point&)': s2/s2pointutil.cc:90:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | S2Point ToFrame(const Matrix3x3_d& m, const S2Point& p) { | ^~~~~~~ s2/s2pointutil.cc:92:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | return m.Transpose() * p; | ~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::FromFrame(const Matrix3x3_d&, const S2Point&)': s2/s2pointutil.cc:95:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 95 | S2Point FromFrame(const Matrix3x3_d& m, const S2Point& q) { | ^~~~~~~~~ s2/s2pointutil.cc:96:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 96 | return m * q; | ~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::Rotate(const S2Point&, const S2Point&, S1Angle)': s2/s2pointutil.cc:70:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2Point dx = p - center; | ^~~~~~ s2/s2pointutil.cc:69:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point center = p.DotProd(axis) * axis; | ^~~~ s2/s2pointutil.cc: In function 'S2Point S2::Ortho(const S2Point&)': s2/s2pointutil.cc:47:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 47 | S2Point Ortho(const S2Point& a) { | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polygon.cc -o s2/s2polygon.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2/s2polygon.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2polygon.cc:55: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2polygon.cc:58: ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:593:43: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 593 | const S2Polygon& a, const S2Polygon& b) { | ^ s2/s2polygon.cc: In member function 'S2Point S2Polygon::Project(const S2Point&) const': s2/s2polygon.cc:604:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 604 | S2Point S2Polygon::Project(const S2Point& x) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ In file included from /usr/include/c++/15/bits/stl_algobase.h:64, from /usr/include/c++/15/algorithm:62, from ../src/s2/s2polygon.h:21: /usr/include/c++/15/bits/stl_pair.h: In instantiation of 'constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = double; _T2 = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp>::type = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp2>::type = double]': s2/s2polygon.cc:599:24: required from here 599 | return std::make_pair( | ~~~~~~~~~~~~~~^ 600 | intersection_area >= a_area ? 1 : intersection_area / a_area, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 601 | intersection_area >= b_area ? 1 : intersection_area / b_area); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:1164:5: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 1164 | make_pair(_T1&& __x, _T2&& __y) | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2/s2polygon.cc: In member function 'S2Point S2Polygon::GetCentroid() const': s2/s2polygon.cc:553:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polygon.cc:553:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2polygon.cc:553:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polygon.cc:555:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 555 | return centroid; | ^~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:592:33: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 592 | /*static*/ pair S2Polygon::GetOverlapFractions( | ^~~~~~~~~ s2/s2polygon.cc: In member function 'S2Point S2Polygon::Project(const S2Point&) const': s2/s2polygon.cc:604:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 604 | S2Point S2Polygon::Project(const S2Point& x) const { | ^~~~~~~~~ s2/s2polygon.cc: In member function 'bool S2Polygon::Contains(const S2Polygon&) const': s2/s2polygon.cc:633:50: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 633 | if (b.num_loops() == 1 || !bound_.lng().Union(b.bound_.lng()).is_full()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ In file included from s2/s2polygon.cc:60: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from s2/s2polygon.cc:77: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ s2/s2polygon.cc: In function 'uint8 GetCellEdgeIncidenceMask(const S2Cell&, const S2Point&, double)': s2/s2polygon.cc:1064:36: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1064 | R2Rect bound = cell.GetBoundUV(); | ^ s2/s2polygon.cc: In member function 'virtual S2Shape::ReferencePoint S2Polygon::Shape::GetReferencePoint() const': s2/s2polygon.cc:1553:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1553 | return ReferencePoint(S2::Origin(), contains_origin); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2polygon.cc: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2polygon.cc:1582:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1582 | } | ^ s2/s2polygon.cc: In function 'uint8 GetCellEdgeIncidenceMask(const S2Cell&, const S2Point&, double)': s2/s2polygon.cc:1064:35: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1064 | R2Rect bound = cell.GetBoundUV(); | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ s2/s2polygon.cc: In member function 'S2Point S2Polygon::GetCentroid() const': s2/s2polygon.cc:553:56: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ^ s2/s2polygon.cc:550:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 550 | S2Point S2Polygon::GetCentroid() const { | ^~~~~~~~~ s2/s2polygon.cc: In member function 'bool S2Polygon::Contains(const S2Polygon&) const': s2/s2polygon.cc:618:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | bool S2Polygon::Contains(const S2Polygon& b) const { | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:592:33: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 592 | /*static*/ pair S2Polygon::GetOverlapFractions( | ^~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_alignment.cc -o s2/s2polyline_alignment.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline.h:33, from ../src/s2/s2polyline_alignment.h:24, from s2/s2polyline_alignment.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2polyline_alignment.cc: In function 's2polyline_alignment::VertexAlignment s2polyline_alignment::DynamicTimewarp(const S2Polyline&, const S2Polyline&, const Window&)': s2/s2polyline_alignment.cc:201:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 201 | (a.vertex(row) - b.vertex(col)).Norm(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2polyline_alignment.cc: In function 'double s2polyline_alignment::GetExactVertexAlignmentCost(const S2Polyline&, const S2Polyline&)': s2/s2polyline_alignment.cc:281:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 281 | (a.vertex(row) - b.vertex(col)).Norm(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2polyline_alignment.cc: In function 'double s2polyline_alignment::GetExactVertexAlignmentCost(const S2Polyline&, const S2Polyline&)': s2/s2polyline_alignment.cc:281:48: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 281 | (a.vertex(row) - b.vertex(col)).Norm(); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_measures.cc -o s2/s2polyline_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline_measures.h:29, from s2/s2polyline_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2polyline_measures.cc: In function 'S2Point S2::GetCentroid(S2PointSpan)': s2/s2polyline_measures.cc:36:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 36 | S2Point GetCentroid(S2PointSpan polyline) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_simplifier.cc -o s2/s2polyline_simplifier.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2polyline_simplifier.h:63, from s2/s2polyline_simplifier.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2polyline_simplifier.h:64: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2polyline_simplifier.cc: In member function 'void S2PolylineSimplifier::Init(const S2Point&)': s2/s2polyline_simplifier.cc:31:11: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | window_ = S1Interval::Full(); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ s2/s2polyline_simplifier.cc:40:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | S2Point tmp = src.Abs(); | ~~~~~~~^~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Full()': ../src/s2/s1interval.h:242:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | inline S1Interval S1Interval::Full() { | ^~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2polyline_simplifier.cc: In member function 'bool S2PolylineSimplifier::TargetDisc(const S2Point&, S1ChordAngle)': s2/s2polyline_simplifier.cc:87:13: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | window_ = S1Interval::Empty(); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ s2/s2polyline_simplifier.cc: In member function 'void S2PolylineSimplifier::Init(const S2Point&)': s2/s2polyline_simplifier.cc:40:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | S2Point tmp = src.Abs(); | ~~~~~~~^~ s2/s2polyline_simplifier.cc:31:29: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | window_ = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline.cc -o s2/s2polyline.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline.h:33, from s2/s2polyline.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2polyline.cc:45: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2polyline.cc: In member function 'S2Point S2Polyline::GetCentroid() const': s2/s2polyline.cc:213:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point S2Polyline::GetCentroid() const { | ^~~~~ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2polyline.cc: In member function 'void S2Polyline::Init(absl::debian7::Span)': s2/s2polyline.cc:132:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 132 | vertices_[i] = vertices[i].ToPoint(); ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polyline.cc: In member function 'S2Point S2Polyline::GetCentroid() const': s2/s2polyline.cc:213:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point S2Polyline::GetCentroid() const { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2polyline.cc: In member function 'virtual bool S2Polyline::MayIntersect(const S2Cell&) const': s2/s2polyline.cc:398:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 398 | cell_vertices[i] = cell.GetVertex(i); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2polyline.cc: In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)': s2/s2polyline.cc:582:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | S1Interval current_wedge = S1Interval::Full(); | ^ s2/s2polyline.cc:609:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 609 | S2Point direction = S2::ToFrame(frame, candidate); | ^ s2/s2polyline.cc:623:74: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 623 | S1Interval target = S1Interval::FromPoint(center).Expanded(half_angle); | ^ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2polyline.cc: In member function 'bool S2Polyline::NearlyCovers(const S2Polyline&, S1Angle) const': s2/s2polyline.cc:763:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 763 | covered.vertex(0), this->vertex(i), this->vertex(next_i)); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2polyline.cc: In member function 'bool S2Polyline::FindValidationError(S2Error*) const': s2/s2polyline.cc:184:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | if (vertex(i - 1) == -vertex(i)) { | ^ s2/s2polyline.cc: In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)': s2/s2polyline.cc:582:46: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | S1Interval current_wedge = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)' at s2/s2polyline.cc:587:35, inlined from 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const' at s2/s2polyline.cc:641:35: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2polyline.cc: In member function 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const': s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 633 | void S2Polyline::SubsampleVertices(S1Angle tolerance, | ^~~~~~~~~~ s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)', inlined from 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const' at s2/s2polyline.cc:641:35: s2/s2polyline.cc:609:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 609 | S2Point direction = S2::ToFrame(frame, candidate); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ s2/s2polyline.cc:623:46: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 623 | S1Interval target = S1Interval::FromPoint(center).Expanded(half_angle); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2polyline.cc: In member function 'bool S2Polyline::NearlyCovers(const S2Polyline&, S1Angle) const': s2/s2polyline.cc:706:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 706 | bool S2Polyline::NearlyCovers(const S2Polyline& covered, | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2predicates.cc -o s2/s2predicates.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2predicates.h:57, from s2/s2predicates.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2predicates.cc:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:1128:33: required from 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = double]' 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1338:40: required from here 1338 | int sign = TriageEdgeCircumcenterSign(x0, x1, a, b, c, abc_sign); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1090:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1090 | Vector3 GetCircumcenter(const Vector3& a, const Vector3& b, | ^~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1128:33: required from 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = long double]' 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1345:38: required from here 1345 | sign = TriageEdgeCircumcenterSign( | ~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1346 | ToLD(x0), ToLD(x1), ToLD(a), ToLD(b), ToLD(c), abc_sign); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1090:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1090 | Vector3 GetCircumcenter(const Vector3& a, const Vector3& b, | ^~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:1458:37: required from 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]' 1458 | T ax2, aDn = (a - GetClosestVertex(a, x0, x1, &ax2)).DotProd(n); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1697:47: required from here 1697 | Excluded result = TriageVoronoiSiteExclusion(a, b, x0, x1, r.length2()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:564:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 564 | inline Vector3 GetClosestVertex(const Vector3& x, const Vector3& a0, | ^~~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1458:37: required from 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]' 1458 | T ax2, aDn = (a - GetClosestVertex(a, x0, x1, &ax2)).DotProd(n); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1700:40: required from here 1700 | result = TriageVoronoiSiteExclusion(ToLD(a), ToLD(b), ToLD(x0), ToLD(x1), | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1701 | ToLD(r.length2())); | ~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:564:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 564 | inline Vector3 GetClosestVertex(const Vector3& x, const Vector3& a0, | ^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const long double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:796:3: required from 'int s2pred::TriageIntersectionOrdering(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]' 796 | S2_DCHECK_NE(a, -b); s2/s2predicates.cc:906:37: required from here 906 | ans = TriageIntersectionOrdering(ToLD(a), ToLD(b), ToLD(c), ToLD(d), | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 907 | ToLD(m), ToLD(n)); | ~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::Sign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:46:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return Sign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::StableSign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:63:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | Vector3_d ab = b - a; | ~~^~~ s2/s2predicates.cc:84:25: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 84 | det = -(ca.CrossProd(bc).DotProd(c)); | ~~~~~~~~~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::CompareDistances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:469:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | sign = TriageCompareCosDistances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::ExactCompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:743:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 743 | if (a0 != -x && a1 != -x && | ^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::CompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:767:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 767 | sign = TriageCompareEdgeDistance(ToLD(x), ToLD(a0), ToLD(a1), | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::UnperturbedSign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:1253:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1253 | int sign = TriageSign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::EdgeCircumcenterSign(const S2Point&, const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:1346:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1346 | ToLD(x0), ToLD(x1), ToLD(a), ToLD(b), ToLD(c), abc_sign); | ~~~~^~~~ s2/s2predicates.cc: In function 'double s2pred::GetSin2Distance(const S2Point&, const S2Point&, double*)': s2/s2predicates.cc:343:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc:343:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~^~~~ s2/s2predicates.cc:343:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~~~~~~~~~~~~~~~^~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'long double s2pred::GetSin2Distance(const Vector3_ld&, const Vector3_ld&, long double*)': s2/s2predicates.cc:361:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 361 | Vector3_ld n = (x - y).CrossProd(x + y); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDistance(const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:684:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 684 | Vector3 n = (a0 - a1).CrossProd(a0 + a1); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDistance(const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:684:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1043:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1043 | Vector3 na = (a0 - a1).CrossProd(a0 + a1); | ^~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]': s2/s2predicates.cc:1043:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = double]': s2/s2predicates.cc:1128:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = long double]': s2/s2predicates.cc:1128:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:1447:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1447 | Vector3 n = (x0 - x1).CrossProd(x0 + x1); // 2 * x0.CrossProd(x1) | ^ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:1447:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'double s2pred::GetSin2Distance(const S2Point&, const S2Point&, double*)': s2/s2predicates.cc:343:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1044:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~^~~~ s2/s2predicates.cc: In function 'long double s2pred::GetSin2Distance(const Vector3_ld&, const Vector3_ld&, long double*)': s2/s2predicates.cc:361:40: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 361 | Vector3_ld n = (x - y).CrossProd(x + y); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2predicates.cc: In function 'int s2pred::CompareSin2Distances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:438:61: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 438 | sign = TriageCompareSin2Distances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::ExactCompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:743:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 743 | if (a0 != -x && a1 != -x && | ^ s2/s2predicates.cc: In function 'int s2pred::CompareDistances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:469:60: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | sign = TriageCompareCosDistances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:567:16: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 567 | T a1x2 = (a1 - x).Norm2(); | ~~~~^~~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:567:16: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 567 | T a1x2 = (a1 - x).Norm2(); | ~~~~^~~~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1044:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]': s2/s2predicates.cc:1044:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:1492:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1492 | Vector3 aXb = (a - b).CrossProd(a + b); // 2 * a.CrossProd(b) | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:1492:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1492 | Vector3 aXb = (a - b).CrossProd(a + b); // 2 * a.CrossProd(b) | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc: In function 'int s2pred::Sign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:46:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return Sign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1111:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1111 | Vector3 mbc = nbc.CrossProd(bc_sum); | ~~~~~~~~~~~~~^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2projections.cc -o s2/s2projections.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from ../src/s2/s2projections.h:28, from s2/s2projections.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2projections.cc: In member function 'R2Point S2::Projection::WrapDestination(const R2Point&, const R2Point&) const': s2/s2projections.cc:31:73: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | R2Point Projection::WrapDestination(const R2Point& a, const R2Point& b) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:60: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::wrap_distance() const': s2/s2projections.cc:75:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | R2Point PlateCarreeProjection::wrap_distance() const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:57: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::wrap_distance() const': s2/s2projections.cc:109:45: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | R2Point MercatorProjection::wrap_distance() const { | ^~~~~ In file included from ../src/s2/r2.h:22, from ../src/s2/s2projections.h:27: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc:67:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:67:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ^ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::wrap_distance() const': s2/s2projections.cc:75:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | R2Point PlateCarreeProjection::wrap_distance() const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc:98:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:98:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ^ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::wrap_distance() const': s2/s2projections.cc:109:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | R2Point MercatorProjection::wrap_distance() const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::Project(const S2Point&) const': s2/s2projections.cc:57:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | R2Point PlateCarreeProjection::Project(const S2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:67:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:67:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::FromLatLng(const S2LatLng&) const': s2/s2projections.cc:89:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 89 | R2Point MercatorProjection::FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:98:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:98:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2projections.cc: In member function 'R2Point S2::Projection::WrapDestination(const R2Point&, const R2Point&) const': s2/s2projections.cc:31:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | R2Point Projection::WrapDestination(const R2Point& a, const R2Point& b) const { | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2r2rect.cc -o s2/s2r2rect.o In file included from ../src/s2/s2r2rect.h:26, from s2/s2r2rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2r2rect.h:28: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2r2rect.h:29: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2r2rect.h: In member function 'R2Point S2R2Rect::lo() const': ../src/s2/s2r2rect.h:240:31: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 240 | inline R2Point S2R2Rect::lo() const { return rect_.lo(); } | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2cap.h:31, from s2/s2r2rect.cc:23: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from s2/s2r2rect.cc:24: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2r2rect.cc:27: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2r2rect.h: In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)': ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)': s2/s2r2rect.cc:38:39: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | return FromCenterSize(id.GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~^~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2r2rect.cc: In member function 'virtual S2Cap S2R2Rect::GetCapBound() const': s2/s2r2rect.cc:57:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~~~~~~~~~~~~ s2/s2r2rect.cc:57:51: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~ s2/s2r2rect.cc:57:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~~~~~~~~~~~~ s2/s2r2rect.cc:59:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | cap.AddPoint(ToS2Point(GetVertex(k))); | ~~~~~~~~~^~~ s2/s2r2rect.cc:59:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | cap.AddPoint(ToS2Point(GetVertex(k))); | ~~~~~~~~~^~~~~~~~~~~~~~ ../src/s2/s2r2rect.h: In member function 'R2Point S2R2Rect::GetCenter() const': ../src/s2/s2r2rect.h:251:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 251 | inline R2Point S2R2Rect::GetCenter() const { return rect_.GetCenter(); } | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/s2r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2R2Rect&)': s2/s2r2rect.cc:87:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2R2Rect&)': s2/s2r2rect.cc:87:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:46:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return S2::FaceUVtoXYZ(0, S2::STtoUV(p.x()), S2::STtoUV(p.y())).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2r2rect.cc: In member function 'virtual S2Cap S2R2Rect::GetCapBound() const': s2/s2r2rect.cc:57:51: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCell(const S2Cell&)': s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 30 | S2R2Rect S2R2Rect::FromCell(const S2Cell& cell) { | ^~~~~~~~ s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:33:46: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 33 | return FromCenterSize(cell.id().GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~~~~~~~~^~ In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)', inlined from 'static S2R2Rect S2R2Rect::FromCell(const S2Cell&)' at s2/s2r2rect.cc:33:69: ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)': s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 36 | S2R2Rect S2R2Rect::FromCellId(S2CellId id) { | ^~~~~~~~ s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:38:39: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | return FromCenterSize(id.GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~^~ In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)', inlined from 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)' at s2/s2r2rect.cc:38:62: ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_coverer.cc -o s2/s2region_coverer.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2region_coverer.h:31, from s2/s2region_coverer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_intersection.cc -o s2/s2region_intersection.o In file included from ../src/s2/s2region_intersection.h:27, from s2/s2region_intersection.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2region_intersection.cc:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_term_indexer.cc -o s2/s2region_term_indexer.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2region_term_indexer.h:105, from s2/s2region_term_indexer.cc:75: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from ../src/s2/s2region_term_indexer.h:109: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_union.cc -o s2/s2region_union.o In file included from ../src/s2/s2region_union.h:28, from s2/s2region_union.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2region_union.cc:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region.cc -o s2/s2region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2region.h:24, from s2/s2region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index_buffered_region.cc -o s2/s2shape_index_buffered_region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_index_buffered_region.h:23, from s2/s2shape_index_buffered_region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2shape_index_buffered_region.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from ../src/s2/s2shape_index_buffered_region.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2shape_index_region.h:32, from s2/s2shape_index_buffered_region.cc:33: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index_measures.cc -o s2/s2shape_index_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_index_measures.h:25, from s2/s2shape_index_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shape_index_measures.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2shape_index_measures.cc: In function 'S2Point S2::GetCentroid(const S2ShapeIndex&)': s2/s2shape_index_measures.cc:86:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | S2Point GetCentroid(const S2ShapeIndex& index) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index.cc -o s2/s2shape_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from s2/s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_measures.cc -o s2/s2shape_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_measures.h:27, from s2/s2shape_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2loop_measures.h:34, from s2/s2shape_measures.cc:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2shape_measures.cc: In function 'S2Point S2::GetCentroid(const S2Shape&)': s2/s2shape_measures.cc:116:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 116 | S2Point GetCentroid(const S2Shape& shape) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2shape_measures.cc:116:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 116 | S2Point GetCentroid(const S2Shape& shape) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_nesting_query.cc -o s2/s2shape_nesting_query.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shape_nesting_query.h:26, from s2/s2shape_nesting_query.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shape_nesting_query.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2shape_nesting_query.cc: In function 'int ClosestOfNPoints(const S2Point&, const S2Shape&, int, int)': s2/s2shape_nesting_query.cc:54:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | double dist2 = (target - point).Norm2(); | ~~~~~~~~^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2shape_nesting_query.cc: In function 'int ClosestOfNPoints(const S2Point&, const S2Shape&, int, int)': s2/s2shape_nesting_query.cc:54:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | double dist2 = (target - point).Norm2(); | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_build_polygon_boundaries.cc -o s2/s2shapeutil_build_polygon_boundaries.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_build_polygon_boundaries.h:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from ../src/s2/s2contains_point_query.h:26, from s2/s2shapeutil_build_polygon_boundaries.cc:26: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2shapeutil_build_polygon_boundaries.cc: In function 'void s2shapeutil::BuildPolygonBoundaries(const std::vector >&, std::vector >*)': s2/s2shapeutil_build_polygon_boundaries.cc:70:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | !s2shapeutil::ContainsBruteForce(*loop, S2::Origin())) { | ~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2shapeutil_build_polygon_boundaries.cc: In function 'void s2shapeutil::BuildPolygonBoundaries(const std::vector >&, std::vector >*)': s2/s2shapeutil_build_polygon_boundaries.cc:70:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | !s2shapeutil::ContainsBruteForce(*loop, S2::Origin())) { | ~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_coding.cc -o s2/s2shapeutil_coding.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_coding.h:45, from s2/s2shapeutil_coding.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_coding.h:46: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36, from ../src/s2/s2lax_polygon_shape.h:36, from s2/s2shapeutil_coding.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_contains_brute_force.cc -o s2/s2shapeutil_contains_brute_force.o In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_contains_brute_force.h:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2shapeutil_contains_brute_force.cc:20: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_conversion.cc -o s2/s2shapeutil_conversion.o In file included from ../src/s2/s2shapeutil_conversion.h:27, from s2/s2shapeutil_conversion.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from ../src/s2/s2shapeutil_conversion.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_edge_iterator.cc -o s2/s2shapeutil_edge_iterator.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_edge_iterator.h:22, from s2/s2shapeutil_edge_iterator.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_edge_iterator.h:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_get_reference_point.cc -o s2/s2shapeutil_get_reference_point.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_get_reference_point.h:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_visit_crossing_edge_pairs.cc -o s2/s2shapeutil_visit_crossing_edge_pairs.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2crossing_edge_query.h:30, from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:23, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23, from ../src/s2/s2crossing_edge_query.h:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:29: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2crossing_edge_query.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2text_format.cc -o s2/s2text_format.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2text_format.h:34, from s2/s2text_format.cc:16: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2text_format.h:38: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2text_format.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2lax_polygon_shape.h:31, from ../src/s2/s2text_format.h:40: ../src/s2/encoded_s2point_vector.h: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': ../src/s2/encoded_s2point_vector.h:133:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | inline S2Point EncodedS2PointVector::operator[](int i) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36, from ../src/s2/s2lax_polygon_shape.h:36: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParseLatLngs(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:81:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 81 | latlngs->push_back(S2LatLng::FromDegrees(lat, lng)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParsePoints(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:96:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 96 | vertices->push_back(latlng.ToPoint()); | ~~~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'std::string s2textformat::ToString(const S2LatLngRect&)': s2/s2text_format.cc:357:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | AppendVertex(rect.lo(), &out); | ~~~~~~~^~ In file included from s2/s2text_format.cc:42: ../src/s2/s2point_vector_shape.h: In member function 'virtual S2Shape::Edge EncodedS2PointVectorShape::edge(int) const': ../src/s2/s2point_vector_shape.h:137:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 137 | Edge edge(int e) const final { return Edge(points_[e], points_[e]); } | ~~~~~~~~~^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2text_format.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2/s2text_format.cc:505:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | } // namespace s2textformat | ^ s2/s2text_format.cc: In function 'std::string s2textformat::ToString(const S2LatLngRect&)': s2/s2text_format.cc:357:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | AppendVertex(rect.lo(), &out); | ~~~~~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'bool s2textformat::ParseLatLngs(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:81:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 81 | latlngs->push_back(S2LatLng::FromDegrees(lat, lng)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParsePoints(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:92:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | bool ParsePoints(string_view str, vector* vertices) { | ^~~~~~~~~~~ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2wedge_relations.cc -o s2/s2wedge_relations.o In file included from ../src/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2winding_operation.cc -o s2/s2winding_operation.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2winding_operation.h:23, from s2/s2winding_operation.cc:19: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/bits/bit-interleave.cc -o s2/util/bits/bit-interleave.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/coding/coder.cc -o s2/util/coding/coder.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/coding/varint.cc -o s2/util/coding/varint.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/math/exactfloat/exactfloat.cc -o s2/util/math/exactfloat/exactfloat.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/math/mathutil.cc -o s2/util/math/mathutil.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/units/length-units.cc -o s2/util/units/length-units.o ar rcs s2/libs2static.a s2/encoded_s2cell_id_vector.o s2/encoded_s2point_vector.o s2/encoded_s2shape_index.o s2/encoded_string_vector.o s2/id_set_lexicon.o s2/mutable_s2shape_index.o s2/r2rect.o s2/s1angle.o s2/s1chord_angle.o s2/s1interval.o s2/s2boolean_operation.o s2/s2buffer_operation.o s2/s2builder_graph.o s2/s2builder.o s2/s2builderutil_closed_set_normalizer.o s2/s2builderutil_find_polygon_degeneracies.o s2/s2builderutil_get_snapped_winding_delta.o s2/s2builderutil_lax_polygon_layer.o s2/s2builderutil_lax_polyline_layer.o s2/s2builderutil_s2point_vector_layer.o s2/s2builderutil_s2polygon_layer.o s2/s2builderutil_s2polyline_layer.o s2/s2builderutil_s2polyline_vector_layer.o s2/s2builderutil_snap_functions.o s2/s2cap.o s2/s2cell_id.o s2/s2cell_index.o s2/s2cell_union.o s2/s2cell.o s2/s2centroids.o s2/s2closest_cell_query.o s2/s2closest_edge_query.o s2/s2closest_point_query.o s2/s2contains_vertex_query.o s2/s2convex_hull_query.o s2/s2coords.o s2/s2crossing_edge_query.o s2/s2debug.o s2/s2earth.o s2/s2edge_clipping.o s2/s2edge_crosser.o s2/s2edge_crossings.o s2/s2edge_distances.o s2/s2edge_tessellator.o s2/s2error.o s2/s2furthest_edge_query.o s2/s2hausdorff_distance_query.o s2/s2latlng_rect_bounder.o s2/s2latlng_rect.o s2/s2latlng.o s2/s2lax_loop_shape.o s2/s2lax_polygon_shape.o s2/s2lax_polyline_shape.o s2/s2loop_measures.o s2/s2loop.o s2/s2max_distance_targets.o s2/s2measures.o s2/s2memory_tracker.o s2/s2metrics.o s2/s2min_distance_targets.o s2/s2padded_cell.o s2/s2point_compression.o s2/s2point_region.o s2/s2pointutil.o s2/s2polygon.o s2/s2polyline_alignment.o s2/s2polyline_measures.o s2/s2polyline_simplifier.o s2/s2polyline.o s2/s2predicates.o s2/s2projections.o s2/s2r2rect.o s2/s2region_coverer.o s2/s2region_intersection.o s2/s2region_term_indexer.o s2/s2region_union.o s2/s2region.o s2/s2shape_index_buffered_region.o s2/s2shape_index_measures.o s2/s2shape_index.o s2/s2shape_measures.o s2/s2shape_nesting_query.o s2/s2shapeutil_build_polygon_boundaries.o s2/s2shapeutil_coding.o s2/s2shapeutil_contains_brute_force.o s2/s2shapeutil_conversion.o s2/s2shapeutil_edge_iterator.o s2/s2shapeutil_get_reference_point.o s2/s2shapeutil_visit_crossing_edge_pairs.o s2/s2text_format.o s2/s2wedge_relations.o s2/s2winding_operation.o s2/util/bits/bit-interleave.o s2/util/coding/coder.o s2/util/coding/varint.o s2/util/math/exactfloat/exactfloat.o s2/util/math/mathutil.o s2/util/units/length-units.o g++ -std=gnu++17 -shared -L/usr/lib/R/lib -Wl,-z,relro -o s2.so cpp-compat.o s2-accessors.o s2-bounds.o s2-cell.o s2-cell-union.o s2-constructors-formatters.o s2-predicates.o s2-transformers.o init.o RcppExports.o s2-geography.o s2-lnglat.o s2-matrix.o wk-impl.o s2geography/accessors-geog.o s2geography/accessors.o s2geography/build.o s2geography/coverings.o s2geography/distance.o s2geography/geography.o s2geography/linear-referencing.o s2geography/predicates.o -Ls2 -ls2static -latomic -labsl_flags_internal -labsl_flags_marshalling -labsl_log_severity -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_raw_logging_internal -labsl_raw_logging_internal -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_throw_delegate -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_check_op -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_conditions -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_severity -labsl_log_severity -labsl_log_internal_proto -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_nullguard -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_log_sink_set -labsl_log_internal_globals -labsl_log_severity -labsl_log_globals -labsl_hash -labsl_city -labsl_bad_variant_access -labsl_low_level_hash -labsl_log_severity -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_severity -labsl_log_sink -labsl_log_entry -labsl_log_severity -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_stacktrace -labsl_strerror -labsl_str_format_internal -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -Wl,--push-state,--as-needed -latomic -Wl,--pop-state -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto -L/usr/lib/R/lib -lR /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_marshalling.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_reflection.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_private_handle_accessor.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_commandlineflag.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_commandlineflag_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_config.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_program_name.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_logging_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_logging_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_hash_set.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_hashtablez_sampler.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_throw_delegate.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. warning: found a total of 146 dynamically-linked objects incompatible with GCS requirements. make[1]: Leaving directory '/build/reproducible-path/r-cran-s2-1.1.9/src' make[1]: Entering directory '/build/reproducible-path/r-cran-s2-1.1.9/src' make[1]: Leaving directory '/build/reproducible-path/r-cran-s2-1.1.9/src' installing to /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library/00LOCK-r-cran-s2-1.1.9/00new/s2/libs ** R ** data *** moving datasets to lazyload DB ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices *** copying figures ** building package indices rm: missing operand Try 'rm --help' for more information. ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (s2) W: Ignoring specified R dependency: R (>= 3.0.0) I: Using r-cran-bit64 for Recommends:bit64 I: Using r-cran-testthat for Recommends:testthat (>= 3.0.0) I: Using r-cran-vctrs for Recommends:vctrs I: Using r-cran-testthat for Suggests:testthat (>= 3.0.0) I: Using r-cran-rcpp for Imports:Rcpp I: Using r-cran-wk for Imports:wk (>= 0.6.0) I: Using r-cran-rcpp for LinkingTo:Rcpp I: Using r-cran-wk for LinkingTo:wk I: Use r-cran-s2 as Debian binary package for variables substitution dh_installdocs -O--buildsystem=R dh_installchangelogs -O--buildsystem=R dh_installsystemduser -O--buildsystem=R dh_perl -O--buildsystem=R dh_link -O--buildsystem=R dh_strip_nondeterminism -O--buildsystem=R dh_compress -O--buildsystem=R dh_fixperms -O--buildsystem=R dh_missing -O--buildsystem=R dh_dwz -a -O--buildsystem=R dh_strip -a -O--buildsystem=R dh_makeshlibs -a -O--buildsystem=R dh_shlibdeps -a -O--buildsystem=R dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dh_installdeb -O--buildsystem=R dh_gencontrol -O--buildsystem=R dh_md5sums -O--buildsystem=R dh_builddeb -O--buildsystem=R dpkg-deb: building package 'r-cran-s2-dbgsym' in '../r-cran-s2-dbgsym_1.1.9-1_arm64.deb'. dpkg-deb: building package 'r-cran-s2' in '../r-cran-s2_1.1.9-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../r-cran-s2_1.1.9-1_arm64.buildinfo dpkg-genchanges --build=binary -O../r-cran-s2_1.1.9-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1781640 and its subdirectories I: Current time: Thu Dec 3 23:47:12 -12 2026 I: pbuilder-time-stamp: 1796384832 Sat Nov 1 05:24:14 UTC 2025 I: 1st build successful. Starting 2nd build on remote node codethink04-arm64.debian.net. Sat Nov 1 05:24:14 UTC 2025 I: Preparing to do remote build '2' on codethink04-arm64.debian.net. Sat Nov 1 05:24:14 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Nov 1 05:24:14 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-f1TNEd' ==================================================================================== Sat Nov 1 05:24:15 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink04-arm64, called using "2 r-cran-s2 forky /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV 1.1.9-1" as arguments. Sat Nov 1 05:24:15 UTC 2025 - actually running "reproducible_build.sh" (md5sum bcb6fe1b50cf4e8eedacd0971a9eb63f) as "/tmp/jenkins-script-Q8RRX2uu" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Nov 1 05:24:15 UTC 2025 I: Downloading source for forky/r-cran-s2=1.1.9-1 Reading package lists... NOTICE: 'r-cran-s2' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/r-pkg-team/r-cran-s2.git Please use: git clone https://salsa.debian.org/r-pkg-team/r-cran-s2.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 2974 kB of source archives. Get:1 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (dsc) [1527 B] Get:2 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (tar) [2968 kB] Get:3 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (diff) [4336 B] Fetched 2974 kB in 0s (61.9 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'r-cran-s2' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/r-pkg-team/r-cran-s2.git Please use: git clone https://salsa.debian.org/r-pkg-team/r-cran-s2.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 2974 kB of source archives. Get:1 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (dsc) [1527 B] Get:2 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (tar) [2968 kB] Get:3 http://deb.debian.org/debian forky/main r-cran-s2 1.1.9-1 (diff) [4336 B] Fetched 2974 kB in 0s (61.9 MB/s) Download complete and in download only mode ============================================================================= Re-Building r-cran-s2 in forky on arm64 on codethink04-arm64 now. Date: Sat Nov 1 05:24:16 GMT 2025 Date UTC: Sat Nov 1 05:24:16 UTC 2025 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_k5vw + case ${ARCH} in + case $ARCH in + locale=nl_BE + language=nl + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' r-cran-s2 = debian-installer -o r-cran-s2 = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' r-cran-s2 = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_k5vw --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2 --logfile b2/build.log r-cran-s2_1.1.9-1.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Sat Nov 1 19:24:16 +14 2025 I: pbuilder-time-stamp: 1761974656 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [r-cran-s2_1.1.9-1.dsc] I: copying [./r-cran-s2_1.1.9.orig.tar.gz] I: copying [./r-cran-s2_1.1.9-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./r-cran-s2_1.1.9-1.dsc: no acceptable signature found dpkg-source: info: extracting r-cran-s2 in r-cran-s2-1.1.9 dpkg-source: info: unpacking r-cran-s2_1.1.9.orig.tar.gz dpkg-source: info: unpacking r-cran-s2_1.1.9-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying fix-ftbfs-on-32bit.patch dpkg-source: info: applying fix-armel-ftbfs.patch dpkg-source: info: applying warn-on-32bit.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D01_modify_environment starting debug: Running on codethink04-arm64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Nov 1 05:24 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.3.3(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 nocheck' DIRSTACK=() DISTRIBUTION=forky EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=6f9210eae24941c9a2676adf8cb36c6f LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=2342308 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_k5vw --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2 --logfile b2/build.log r-cran-s2_1.1.9-1.dsc' SUDO_GID=109 SUDO_HOME=/var/lib/jenkins SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-r, r-base-dev, r-cran-rcpp, r-cran-wk (>= 0.6.0), libssl-dev, libabsl-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19971 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-r; however: Package dh-r is not installed. pbuilder-satisfydepends-dummy depends on r-base-dev; however: Package r-base-dev is not installed. pbuilder-satisfydepends-dummy depends on r-cran-rcpp; however: Package r-cran-rcpp is not installed. pbuilder-satisfydepends-dummy depends on r-cran-wk (>= 0.6.0); however: Package r-cran-wk is not installed. pbuilder-satisfydepends-dummy depends on libssl-dev; however: Package libssl-dev is not installed. pbuilder-satisfydepends-dummy depends on libabsl-dev; however: Package libabsl-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} dctrl-tools{a} debhelper{a} dh-autoreconf{a} dh-r{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} gettext{a} gettext-base{a} gfortran{a} gfortran-15{a} gfortran-15-aarch64-linux-gnu{a} gfortran-aarch64-linux-gnu{a} groff-base{a} icu-devtools{a} intltool-debian{a} libabsl-dev{a} libabsl20240722{a} libalgorithm-c3-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libblas-dev{a} libblas3{a} libbrotli1{a} libbz2-dev{a} libcairo2{a} libclass-c3-perl{a} libclass-load-perl{a} libclass-load-xs-perl{a} libclone-perl{a} libcom-err2{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdata-optlist-perl{a} libdatrie1{a} libdebhelper-perl{a} libdeflate-dev{a} libdeflate0{a} libdevel-callchecker-perl{a} libdevel-globaldestruction-perl{a} libdevel-overloadinfo-perl{a} libdevel-stacktrace-perl{a} libdist-checkconflicts-perl{a} libdynaloader-functions-perl{a} libelf1t64{a} libencode-locale-perl{a} libeval-closure-perl{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgfortran-15-dev{a} libgfortran5{a} libglib2.0-0t64{a} libgnutls30t64{a} libgraphite2-3{a} libgssapi-krb5-2{a} libharfbuzz0b{a} libhttp-date-perl{a} libhttp-message-perl{a} libice6{a} libicu-dev{a} libicu76{a} libidn2-0{a} libio-html-perl{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} libldap2{a} liblerc4{a} liblwp-mediatypes-perl{a} liblzma-dev{a} libmagic-mgc{a} libmagic1t64{a} libmodule-implementation-perl{a} libmodule-runtime-conflicts-perl{a} libmodule-runtime-perl{a} libmoose-perl{a} libmro-compat-perl{a} libnamespace-clean-perl{a} libncurses-dev{a} libncurses6{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libngtcp2-crypto-ossl0{a} libp11-kit0{a} libpackage-deprecationmanager-perl{a} libpackage-stash-perl{a} libpackage-stash-xs-perl{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpaper-utils{a} libpaper2{a} libparams-classify-perl{a} libparams-util-perl{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpixman-1-0{a} libpkgconf3{a} libpng-dev{a} libpng16-16t64{a} libproc2-0{a} libpsl5t64{a} libreadline-dev{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libsharpyuv0{a} libsm6{a} libssh2-1t64{a} libssl-dev{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libswitch-perl{a} libtasn1-6{a} libtcl8.6{a} libtext-charwidth-perl{a} libtext-wrapi18n-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtimedate-perl{a} libtirpc-common{a} libtirpc-dev{a} libtirpc3t64{a} libtk8.6{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libunistring5{a} liburi-perl{a} libvariable-magic-perl{a} libwebp7{a} libwww-curl-perl{a} libwww-curl-simple-perl{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb-render0{a} libxcb-shm0{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxft2{a} libxml2-16{a} libxmuu1{a} libxrender1{a} libxss1{a} libxt6t64{a} libzstd-dev{a} littler{a} m4{a} man-db{a} openssl{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} procps{a} r-base-core{a} r-base-dev{a} r-cran-littler{a} r-cran-pkgkitten{a} r-cran-rcpp{a} r-cran-wk{a} readline-common{a} sensible-utils{a} tzdata{a} ucf{a} unzip{a} x11-common{a} xauth{a} xdg-utils{a} zip{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: bzip2-doc cme curl devscripts git-buildpackage krb5-locales libarchive-cpio-perl libclass-c3-xs-perl libdevel-lexalias-perl libdevel-partialdump-perl libfile-mimeinfo-perl libglib2.0-data libgmock-dev libgpm2 libio-compress-brotli-perl libldap-common libltdl-dev libmail-sendmail-perl libnet-dbus-perl libpng-tools libsasl2-modules libx11-protocol-perl linux-sysctl-defaults lynx psmisc publicsuffix r-cran-readr r-cran-sf r-cran-testthat r-cran-tibble r-cran-vctrs r-doc-html r-recommended shared-mime-info wget x11-utils x11-xserver-utils xdg-user-dirs 0 packages upgraded, 205 newly installed, 0 to remove and 0 not upgraded. Need to get 113 MB of archives. After unpacking 380 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main arm64 libexpat1 arm64 2.7.3-1 [96.5 kB] Get: 2 http://deb.debian.org/debian forky/main arm64 tzdata all 2025b-5 [260 kB] Get: 3 http://deb.debian.org/debian forky/main arm64 libproc2-0 arm64 2:4.0.4-9 [62.8 kB] Get: 4 http://deb.debian.org/debian forky/main arm64 procps arm64 2:4.0.4-9 [871 kB] Get: 5 http://deb.debian.org/debian forky/main arm64 readline-common all 8.3-3 [74.8 kB] Get: 6 http://deb.debian.org/debian forky/main arm64 sensible-utils all 0.0.26 [27.0 kB] Get: 7 http://deb.debian.org/debian forky/main arm64 openssl arm64 3.5.4-1 [1457 kB] Get: 8 http://deb.debian.org/debian forky/main arm64 ca-certificates all 20250419 [162 kB] Get: 9 http://deb.debian.org/debian forky/main arm64 libmagic-mgc arm64 1:5.46-5 [338 kB] Get: 10 http://deb.debian.org/debian forky/main arm64 libmagic1t64 arm64 1:5.46-5 [103 kB] Get: 11 http://deb.debian.org/debian forky/main arm64 file arm64 1:5.46-5 [43.7 kB] Get: 12 http://deb.debian.org/debian forky/main arm64 gettext-base arm64 0.23.1-2+b1 [241 kB] Get: 13 http://deb.debian.org/debian forky/main arm64 libuchardet0 arm64 0.0.8-2 [69.0 kB] Get: 14 http://deb.debian.org/debian forky/main arm64 groff-base arm64 1.23.0-9 [1130 kB] Get: 15 http://deb.debian.org/debian forky/main arm64 bsdextrautils arm64 2.41.2-4 [97.3 kB] Get: 16 http://deb.debian.org/debian forky/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 17 http://deb.debian.org/debian forky/main arm64 man-db arm64 2.13.1-1 [1453 kB] Get: 18 http://deb.debian.org/debian forky/main arm64 libtext-charwidth-perl arm64 0.04-11+b4 [9652 B] Get: 19 http://deb.debian.org/debian forky/main arm64 libtext-wrapi18n-perl all 0.06-10 [8808 B] Get: 20 http://deb.debian.org/debian forky/main arm64 ucf all 3.0052 [43.3 kB] Get: 21 http://deb.debian.org/debian forky/main arm64 m4 arm64 1.4.20-2 [315 kB] Get: 22 http://deb.debian.org/debian forky/main arm64 autoconf all 2.72-3.1 [494 kB] Get: 23 http://deb.debian.org/debian forky/main arm64 autotools-dev all 20240727.1 [60.2 kB] Get: 24 http://deb.debian.org/debian forky/main arm64 automake all 1:1.18.1-2 [877 kB] Get: 25 http://deb.debian.org/debian forky/main arm64 autopoint all 0.23.1-2 [770 kB] Get: 26 http://deb.debian.org/debian forky/main arm64 dctrl-tools arm64 2.24-3+b1 [125 kB] Get: 27 http://deb.debian.org/debian forky/main arm64 libdebhelper-perl all 13.28 [92.4 kB] Get: 28 http://deb.debian.org/debian forky/main arm64 libtool all 2.5.4-7 [540 kB] Get: 29 http://deb.debian.org/debian forky/main arm64 dh-autoreconf all 21 [12.2 kB] Get: 30 http://deb.debian.org/debian forky/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 31 http://deb.debian.org/debian forky/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get: 32 http://deb.debian.org/debian forky/main arm64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get: 33 http://deb.debian.org/debian forky/main arm64 libelf1t64 arm64 0.193-3 [189 kB] Get: 34 http://deb.debian.org/debian forky/main arm64 dwz arm64 0.16-2 [100 kB] Get: 35 http://deb.debian.org/debian forky/main arm64 libunistring5 arm64 1.3-2 [453 kB] Get: 36 http://deb.debian.org/debian forky/main arm64 libxml2-16 arm64 2.14.6+dfsg-0.1 [601 kB] Get: 37 http://deb.debian.org/debian forky/main arm64 gettext arm64 0.23.1-2+b1 [1612 kB] Get: 38 http://deb.debian.org/debian forky/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 39 http://deb.debian.org/debian forky/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 40 http://deb.debian.org/debian forky/main arm64 debhelper all 13.28 [941 kB] Get: 41 http://deb.debian.org/debian forky/main arm64 zip arm64 3.0-15 [227 kB] Get: 42 http://deb.debian.org/debian forky/main arm64 unzip arm64 6.0-29 [163 kB] Get: 43 http://deb.debian.org/debian forky/main arm64 libpaper2 arm64 2.2.5-0.3+b2 [16.6 kB] Get: 44 http://deb.debian.org/debian forky/main arm64 libpaper-utils arm64 2.2.5-0.3+b2 [16.4 kB] Get: 45 http://deb.debian.org/debian forky/main arm64 xdg-utils all 1.2.1-2 [75.8 kB] Get: 46 http://deb.debian.org/debian forky/main arm64 libblas3 arm64 3.12.1-7 [135 kB] Get: 47 http://deb.debian.org/debian forky/main arm64 libbrotli1 arm64 1.1.0-2+b7 [308 kB] Get: 48 http://deb.debian.org/debian forky/main arm64 libpng16-16t64 arm64 1.6.50-1 [275 kB] Get: 49 http://deb.debian.org/debian forky/main arm64 libfreetype6 arm64 2.13.3+dfsg-1 [422 kB] Get: 50 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 51 http://deb.debian.org/debian forky/main arm64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 52 http://deb.debian.org/debian forky/main arm64 fontconfig-config arm64 2.15.0-2.4 [318 kB] Get: 53 http://deb.debian.org/debian forky/main arm64 libfontconfig1 arm64 2.15.0-2.4 [387 kB] Get: 54 http://deb.debian.org/debian forky/main arm64 libpixman-1-0 arm64 0.46.4-1 [174 kB] Get: 55 http://deb.debian.org/debian forky/main arm64 libxau6 arm64 1:1.0.11-1 [20.6 kB] Get: 56 http://deb.debian.org/debian forky/main arm64 libxdmcp6 arm64 1:1.1.5-1 [27.8 kB] Get: 57 http://deb.debian.org/debian forky/main arm64 libxcb1 arm64 1.17.0-2+b1 [143 kB] Get: 58 http://deb.debian.org/debian forky/main arm64 libx11-data all 2:1.8.12-1 [343 kB] Get: 59 http://deb.debian.org/debian forky/main arm64 libx11-6 arm64 2:1.8.12-1 [795 kB] Get: 60 http://deb.debian.org/debian forky/main arm64 libxcb-render0 arm64 1.17.0-2+b1 [115 kB] Get: 61 http://deb.debian.org/debian forky/main arm64 libxcb-shm0 arm64 1.17.0-2+b1 [105 kB] Get: 62 http://deb.debian.org/debian forky/main arm64 libxext6 arm64 2:1.3.4-1+b3 [49.2 kB] Get: 63 http://deb.debian.org/debian forky/main arm64 libxrender1 arm64 1:0.9.12-1 [27.0 kB] Get: 64 http://deb.debian.org/debian forky/main arm64 libcairo2 arm64 1.18.4-1+b1 [483 kB] Get: 65 http://deb.debian.org/debian forky/main arm64 libnghttp3-9 arm64 1.12.0-1 [63.6 kB] Get: 66 http://deb.debian.org/debian forky/main arm64 libngtcp2-16 arm64 1.16.0-1 [123 kB] Get: 67 http://deb.debian.org/debian forky/main arm64 libkrb5support0 arm64 1.21.3-5 [32.4 kB] Get: 68 http://deb.debian.org/debian forky/main arm64 libcom-err2 arm64 1.47.2-3+b3 [24.9 kB] Get: 69 http://deb.debian.org/debian forky/main arm64 libk5crypto3 arm64 1.21.3-5 [81.2 kB] Get: 70 http://deb.debian.org/debian forky/main arm64 libkeyutils1 arm64 1.6.3-6 [9716 B] Get: 71 http://deb.debian.org/debian forky/main arm64 libkrb5-3 arm64 1.21.3-5 [308 kB] Get: 72 http://deb.debian.org/debian forky/main arm64 libgssapi-krb5-2 arm64 1.21.3-5 [127 kB] Get: 73 http://deb.debian.org/debian forky/main arm64 libidn2-0 arm64 2.3.8-4 [108 kB] Get: 74 http://deb.debian.org/debian forky/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-10 [19.8 kB] Get: 75 http://deb.debian.org/debian forky/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-10 [55.0 kB] Get: 76 http://deb.debian.org/debian forky/main arm64 libldap2 arm64 2.6.10+dfsg-1 [179 kB] Get: 77 http://deb.debian.org/debian forky/main arm64 libnghttp2-14 arm64 1.64.0-1.1+b1 [71.7 kB] Get: 78 http://deb.debian.org/debian forky/main arm64 libngtcp2-crypto-ossl0 arm64 1.16.0-1 [25.7 kB] Get: 79 http://deb.debian.org/debian forky/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 80 http://deb.debian.org/debian forky/main arm64 libffi8 arm64 3.5.2-2 [21.5 kB] Get: 81 http://deb.debian.org/debian forky/main arm64 libp11-kit0 arm64 0.25.9-2 [420 kB] Get: 82 http://deb.debian.org/debian forky/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 83 http://deb.debian.org/debian forky/main arm64 libgnutls30t64 arm64 3.8.10-3 [1384 kB] Get: 84 http://deb.debian.org/debian forky/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-3 [56.3 kB] Get: 85 http://deb.debian.org/debian forky/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 86 http://deb.debian.org/debian forky/main arm64 libcurl4t64 arm64 8.17.0~rc3-1 [370 kB] Get: 87 http://deb.debian.org/debian forky/main arm64 libdeflate0 arm64 1.23-2 [42.4 kB] Get: 88 http://deb.debian.org/debian forky/main arm64 libglib2.0-0t64 arm64 2.86.1-1 [1436 kB] Get: 89 http://deb.debian.org/debian forky/main arm64 libicu76 arm64 76.1-4 [9524 kB] Get: 90 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo arm64 1:2.1.5-4 [173 kB] Get: 91 http://deb.debian.org/debian forky/main arm64 libgfortran5 arm64 15.2.0-7 [371 kB] Get: 92 http://deb.debian.org/debian forky/main arm64 liblapack3 arm64 3.12.1-7 [1846 kB] Get: 93 http://deb.debian.org/debian forky/main arm64 fontconfig arm64 2.15.0-2.4 [463 kB] Get: 94 http://deb.debian.org/debian forky/main arm64 libfribidi0 arm64 1.0.16-3 [26.5 kB] Get: 95 http://deb.debian.org/debian forky/main arm64 libgraphite2-3 arm64 1.3.14-11 [70.8 kB] Get: 96 http://deb.debian.org/debian forky/main arm64 libharfbuzz0b arm64 12.1.0-1 [486 kB] Get: 97 http://deb.debian.org/debian forky/main arm64 libthai-data all 0.1.29-2 [168 kB] Get: 98 http://deb.debian.org/debian forky/main arm64 libdatrie1 arm64 0.2.13-4 [37.4 kB] Get: 99 http://deb.debian.org/debian forky/main arm64 libthai0 arm64 0.1.29-2+b1 [48.4 kB] Get: 100 http://deb.debian.org/debian forky/main arm64 libpango-1.0-0 arm64 1.56.3-2 [222 kB] Get: 101 http://deb.debian.org/debian forky/main arm64 libpangoft2-1.0-0 arm64 1.56.3-2 [56.5 kB] Get: 102 http://deb.debian.org/debian forky/main arm64 libpangocairo-1.0-0 arm64 1.56.3-2 [35.3 kB] Get: 103 http://deb.debian.org/debian forky/main arm64 libreadline8t64 arm64 8.3-3 [169 kB] Get: 104 http://deb.debian.org/debian forky/main arm64 libtcl8.6 arm64 8.6.17+dfsg-1 [982 kB] Get: 105 http://deb.debian.org/debian forky/main arm64 libjbig0 arm64 2.1-6.1+b2 [30.4 kB] Get: 106 http://deb.debian.org/debian forky/main arm64 liblerc4 arm64 4.0.0+ds-5 [146 kB] Get: 107 http://deb.debian.org/debian forky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [114 kB] Get: 108 http://deb.debian.org/debian forky/main arm64 libwebp7 arm64 1.5.0-0.1 [271 kB] Get: 109 http://deb.debian.org/debian forky/main arm64 libtiff6 arm64 4.7.1-1 [334 kB] Get: 110 http://deb.debian.org/debian forky/main arm64 libtirpc-common all 1.3.6+ds-1 [11.0 kB] Get: 111 http://deb.debian.org/debian forky/main arm64 libtirpc3t64 arm64 1.3.6+ds-1 [79.1 kB] Get: 112 http://deb.debian.org/debian forky/main arm64 libxft2 arm64 2.3.6-1+b4 [51.6 kB] Get: 113 http://deb.debian.org/debian forky/main arm64 x11-common all 1:7.7+26 [217 kB] Get: 114 http://deb.debian.org/debian forky/main arm64 libxss1 arm64 1:1.2.3-1+b3 [17.1 kB] Get: 115 http://deb.debian.org/debian forky/main arm64 libtk8.6 arm64 8.6.17-1 [740 kB] Get: 116 http://deb.debian.org/debian forky/main arm64 libice6 arm64 2:1.1.1-1 [62.1 kB] Get: 117 http://deb.debian.org/debian forky/main arm64 libsm6 arm64 2:1.2.6-1 [36.4 kB] Get: 118 http://deb.debian.org/debian forky/main arm64 libxt6t64 arm64 1:1.2.1-1.3 [182 kB] Get: 119 http://deb.debian.org/debian forky/main arm64 r-base-core arm64 4.5.1-1 [28.4 MB] Get: 120 http://deb.debian.org/debian forky/main arm64 libgfortran-15-dev arm64 15.2.0-7 [411 kB] Get: 121 http://deb.debian.org/debian forky/main arm64 gfortran-15-aarch64-linux-gnu arm64 15.2.0-7 [10.8 MB] Get: 122 http://deb.debian.org/debian forky/main arm64 gfortran-15 arm64 15.2.0-7 [18.0 kB] Get: 123 http://deb.debian.org/debian forky/main arm64 gfortran-aarch64-linux-gnu arm64 4:15.2.0-4 [1280 B] Get: 124 http://deb.debian.org/debian forky/main arm64 gfortran arm64 4:15.2.0-4 [1428 B] Get: 125 http://deb.debian.org/debian forky/main arm64 libblas-dev arm64 3.12.1-7 [145 kB] Get: 126 http://deb.debian.org/debian forky/main arm64 liblapack-dev arm64 3.12.1-7 [3829 kB] Get: 127 http://deb.debian.org/debian forky/main arm64 libncurses6 arm64 6.5+20250216-2 [96.1 kB] Get: 128 http://deb.debian.org/debian forky/main arm64 libncurses-dev arm64 6.5+20250216-2 [340 kB] Get: 129 http://deb.debian.org/debian forky/main arm64 libreadline-dev arm64 8.3-3 [163 kB] Get: 130 http://deb.debian.org/debian forky/main arm64 libjpeg62-turbo-dev arm64 1:2.1.5-4 [293 kB] Get: 131 http://deb.debian.org/debian forky/main arm64 libjpeg-dev arm64 1:2.1.5-4 [72.2 kB] Get: 132 http://deb.debian.org/debian forky/main arm64 libpcre2-16-0 arm64 10.46-1 [247 kB] Get: 133 http://deb.debian.org/debian forky/main arm64 libpcre2-32-0 arm64 10.46-1 [238 kB] Get: 134 http://deb.debian.org/debian forky/main arm64 libpcre2-posix3 arm64 10.46-1 [64.1 kB] Get: 135 http://deb.debian.org/debian forky/main arm64 libpcre2-dev arm64 10.46-1 [750 kB] Get: 136 http://deb.debian.org/debian forky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Get: 137 http://deb.debian.org/debian forky/main arm64 libpng-dev arm64 1.6.50-1 [361 kB] Get: 138 http://deb.debian.org/debian forky/main arm64 libbz2-dev arm64 1.0.8-6 [31.9 kB] Get: 139 http://deb.debian.org/debian forky/main arm64 liblzma-dev arm64 5.8.1-2 [344 kB] Get: 140 http://deb.debian.org/debian forky/main arm64 icu-devtools arm64 76.1-4 [200 kB] Get: 141 http://deb.debian.org/debian forky/main arm64 libicu-dev arm64 76.1-4 [10.6 MB] Get: 142 http://deb.debian.org/debian forky/main arm64 libxmuu1 arm64 2:1.1.3-3+b4 [22.0 kB] Get: 143 http://deb.debian.org/debian forky/main arm64 xauth arm64 1:1.1.2-1.1 [35.4 kB] Get: 144 http://deb.debian.org/debian forky/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 145 http://deb.debian.org/debian forky/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 146 http://deb.debian.org/debian forky/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 147 http://deb.debian.org/debian forky/main arm64 libtirpc-dev arm64 1.3.6+ds-1 [192 kB] Get: 148 http://deb.debian.org/debian forky/main arm64 libdeflate-dev arm64 1.23-2 [51.3 kB] Get: 149 http://deb.debian.org/debian forky/main arm64 libzstd-dev arm64 1.5.7+dfsg-2 [330 kB] Get: 150 http://deb.debian.org/debian forky/main arm64 r-base-dev all 4.5.1-1 [4360 B] Get: 151 http://deb.debian.org/debian forky/main arm64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 152 http://deb.debian.org/debian forky/main arm64 libswitch-perl all 2.17-3 [20.3 kB] Get: 153 http://deb.debian.org/debian forky/main arm64 libclone-perl arm64 0.47-1+b1 [13.7 kB] Get: 154 http://deb.debian.org/debian forky/main arm64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 155 http://deb.debian.org/debian forky/main arm64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 156 http://deb.debian.org/debian forky/main arm64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 157 http://deb.debian.org/debian forky/main arm64 libio-html-perl all 1.004-3 [16.2 kB] Get: 158 http://deb.debian.org/debian forky/main arm64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 159 http://deb.debian.org/debian forky/main arm64 liburi-perl all 5.30-1 [105 kB] Get: 160 http://deb.debian.org/debian forky/main arm64 libhttp-message-perl all 7.01-1 [80.0 kB] Get: 161 http://deb.debian.org/debian forky/main arm64 libparams-util-perl arm64 1.102-3+b1 [23.7 kB] Get: 162 http://deb.debian.org/debian forky/main arm64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 163 http://deb.debian.org/debian forky/main arm64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 164 http://deb.debian.org/debian forky/main arm64 libb-hooks-op-check-perl arm64 0.22-3+b2 [10.6 kB] Get: 165 http://deb.debian.org/debian forky/main arm64 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Get: 166 http://deb.debian.org/debian forky/main arm64 libdevel-callchecker-perl arm64 0.009-2 [15.7 kB] Get: 167 http://deb.debian.org/debian forky/main arm64 libparams-classify-perl arm64 0.015-2+b4 [22.3 kB] Get: 168 http://deb.debian.org/debian forky/main arm64 libmodule-runtime-perl all 0.018-1 [17.8 kB] Get: 169 http://deb.debian.org/debian forky/main arm64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 170 http://deb.debian.org/debian forky/main arm64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 171 http://deb.debian.org/debian forky/main arm64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 172 http://deb.debian.org/debian forky/main arm64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 173 http://deb.debian.org/debian forky/main arm64 libclass-load-xs-perl arm64 0.10-2+b4 [14.3 kB] Get: 174 http://deb.debian.org/debian forky/main arm64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 175 http://deb.debian.org/debian forky/main arm64 libdevel-globaldestruction-perl all 0.14-4 [7144 B] Get: 176 http://deb.debian.org/debian forky/main arm64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 177 http://deb.debian.org/debian forky/main arm64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 178 http://deb.debian.org/debian forky/main arm64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 179 http://deb.debian.org/debian forky/main arm64 libdevel-overloadinfo-perl all 0.008-1 [7748 B] Get: 180 http://deb.debian.org/debian forky/main arm64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get: 181 http://deb.debian.org/debian forky/main arm64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 182 http://deb.debian.org/debian forky/main arm64 libeval-closure-perl all 0.14-3 [11.2 kB] Get: 183 http://deb.debian.org/debian forky/main arm64 libdist-checkconflicts-perl all 0.11-2 [10.5 kB] Get: 184 http://deb.debian.org/debian forky/main arm64 libmodule-runtime-conflicts-perl all 0.003-2 [7356 B] Get: 185 http://deb.debian.org/debian forky/main arm64 libpackage-deprecationmanager-perl all 0.18-1 [17.6 kB] Get: 186 http://deb.debian.org/debian forky/main arm64 libpackage-stash-xs-perl arm64 0.30-1+b4 [19.0 kB] Get: 187 http://deb.debian.org/debian forky/main arm64 libmoose-perl arm64 2.4000-1 [766 kB] Get: 188 http://deb.debian.org/debian forky/main arm64 libvariable-magic-perl arm64 0.64-1+b1 [43.9 kB] Get: 189 http://deb.debian.org/debian forky/main arm64 libb-hooks-endofscope-perl all 0.28-2 [17.6 kB] Get: 190 http://deb.debian.org/debian forky/main arm64 libsub-identify-perl arm64 0.14-3+b3 [11.2 kB] Get: 191 http://deb.debian.org/debian forky/main arm64 libsub-name-perl arm64 0.28-1 [12.1 kB] Get: 192 http://deb.debian.org/debian forky/main arm64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 193 http://deb.debian.org/debian forky/main arm64 libngtcp2-crypto-gnutls8 arm64 1.16.0-1 [23.8 kB] Get: 194 http://deb.debian.org/debian forky/main arm64 libcurl3t64-gnutls arm64 8.17.0~rc3-1 [362 kB] Get: 195 http://deb.debian.org/debian forky/main arm64 libwww-curl-perl arm64 4.17-12 [57.7 kB] Get: 196 http://deb.debian.org/debian forky/main arm64 libwww-curl-simple-perl all 0.100191-3 [12.6 kB] Get: 197 http://deb.debian.org/debian forky/main arm64 dh-r all 20250812 [42.6 kB] Get: 198 http://deb.debian.org/debian forky/main arm64 libabsl20240722 arm64 20240722.0-4 [452 kB] Get: 199 http://deb.debian.org/debian forky/main arm64 libabsl-dev arm64 20240722.0-4 [1223 kB] Get: 200 http://deb.debian.org/debian forky/main arm64 libssl-dev arm64 3.5.4-1 [3377 kB] Get: 201 http://deb.debian.org/debian forky/main arm64 r-cran-littler arm64 0.3.21-2 [92.2 kB] Get: 202 http://deb.debian.org/debian forky/main arm64 littler all 0.3.21-2 [16.9 kB] Get: 203 http://deb.debian.org/debian forky/main arm64 r-cran-pkgkitten all 0.2.4-1 [29.1 kB] Get: 204 http://deb.debian.org/debian forky/main arm64 r-cran-rcpp arm64 1.1.0-1 [2096 kB] Get: 205 http://deb.debian.org/debian forky/main arm64 r-cran-wk arm64 0.9.4-1 [1783 kB] Fetched 113 MB in 1s (105 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19971 files and directories currently installed.) Preparing to unpack .../000-libexpat1_2.7.3-1_arm64.deb ... Unpacking libexpat1:arm64 (2.7.3-1) ... Selecting previously unselected package tzdata. Preparing to unpack .../001-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libproc2-0:arm64. Preparing to unpack .../002-libproc2-0_2%3a4.0.4-9_arm64.deb ... Unpacking libproc2-0:arm64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../003-procps_2%3a4.0.4-9_arm64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package readline-common. Preparing to unpack .../004-readline-common_8.3-3_all.deb ... Unpacking readline-common (8.3-3) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../005-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../006-openssl_3.5.4-1_arm64.deb ... Unpacking openssl (3.5.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../007-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../008-libmagic-mgc_1%3a5.46-5_arm64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../009-libmagic1t64_1%3a5.46-5_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../010-file_1%3a5.46-5_arm64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../011-gettext-base_0.23.1-2+b1_arm64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../012-libuchardet0_0.0.8-2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../013-groff-base_1.23.0-9_arm64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../014-bsdextrautils_2.41.2-4_arm64.deb ... Unpacking bsdextrautils (2.41.2-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../015-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../016-man-db_2.13.1-1_arm64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libtext-charwidth-perl:arm64. Preparing to unpack .../017-libtext-charwidth-perl_0.04-11+b4_arm64.deb ... Unpacking libtext-charwidth-perl:arm64 (0.04-11+b4) ... Selecting previously unselected package libtext-wrapi18n-perl. Preparing to unpack .../018-libtext-wrapi18n-perl_0.06-10_all.deb ... Unpacking libtext-wrapi18n-perl (0.06-10) ... Selecting previously unselected package ucf. Preparing to unpack .../019-ucf_3.0052_all.deb ... Moving old data out of the way Unpacking ucf (3.0052) ... Selecting previously unselected package m4. Preparing to unpack .../020-m4_1.4.20-2_arm64.deb ... Unpacking m4 (1.4.20-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../021-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../022-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../023-automake_1%3a1.18.1-2_all.deb ... Unpacking automake (1:1.18.1-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../024-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package dctrl-tools. Preparing to unpack .../025-dctrl-tools_2.24-3+b1_arm64.deb ... Unpacking dctrl-tools (2.24-3+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../026-libdebhelper-perl_13.28_all.deb ... Unpacking libdebhelper-perl (13.28) ... Selecting previously unselected package libtool. Preparing to unpack .../027-libtool_2.5.4-7_all.deb ... Unpacking libtool (2.5.4-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../028-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../029-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../030-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../031-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../032-libelf1t64_0.193-3_arm64.deb ... Unpacking libelf1t64:arm64 (0.193-3) ... Selecting previously unselected package dwz. Preparing to unpack .../033-dwz_0.16-2_arm64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../034-libunistring5_1.3-2_arm64.deb ... Unpacking libunistring5:arm64 (1.3-2) ... Selecting previously unselected package libxml2-16:arm64. Preparing to unpack .../035-libxml2-16_2.14.6+dfsg-0.1_arm64.deb ... Unpacking libxml2-16:arm64 (2.14.6+dfsg-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../036-gettext_0.23.1-2+b1_arm64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../037-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../038-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../039-debhelper_13.28_all.deb ... Unpacking debhelper (13.28) ... Selecting previously unselected package zip. Preparing to unpack .../040-zip_3.0-15_arm64.deb ... Unpacking zip (3.0-15) ... Selecting previously unselected package unzip. Preparing to unpack .../041-unzip_6.0-29_arm64.deb ... Unpacking unzip (6.0-29) ... Selecting previously unselected package libpaper2:arm64. Preparing to unpack .../042-libpaper2_2.2.5-0.3+b2_arm64.deb ... Unpacking libpaper2:arm64 (2.2.5-0.3+b2) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../043-libpaper-utils_2.2.5-0.3+b2_arm64.deb ... Unpacking libpaper-utils (2.2.5-0.3+b2) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../044-xdg-utils_1.2.1-2_all.deb ... Unpacking xdg-utils (1.2.1-2) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../045-libblas3_3.12.1-7_arm64.deb ... Unpacking libblas3:arm64 (3.12.1-7) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../046-libbrotli1_1.1.0-2+b7_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b7) ... Selecting previously unselected package libpng16-16t64:arm64. Preparing to unpack .../047-libpng16-16t64_1.6.50-1_arm64.deb ... Unpacking libpng16-16t64:arm64 (1.6.50-1) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../048-libfreetype6_2.13.3+dfsg-1_arm64.deb ... Unpacking libfreetype6:arm64 (2.13.3+dfsg-1) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../049-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../050-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../051-fontconfig-config_2.15.0-2.4_arm64.deb ... Unpacking fontconfig-config (2.15.0-2.4) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../052-libfontconfig1_2.15.0-2.4_arm64.deb ... Unpacking libfontconfig1:arm64 (2.15.0-2.4) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../053-libpixman-1-0_0.46.4-1_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.46.4-1) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../054-libxau6_1%3a1.0.11-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../055-libxdmcp6_1%3a1.1.5-1_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../056-libxcb1_1.17.0-2+b1_arm64.deb ... Unpacking libxcb1:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../057-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../058-libx11-6_2%3a1.8.12-1_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.12-1) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../059-libxcb-render0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-render0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../060-libxcb-shm0_1.17.0-2+b1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../061-libxext6_2%3a1.3.4-1+b3_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../062-libxrender1_1%3a0.9.12-1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.12-1) ... Selecting previously unselected package libcairo2:arm64. Preparing to unpack .../063-libcairo2_1.18.4-1+b1_arm64.deb ... Unpacking libcairo2:arm64 (1.18.4-1+b1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../064-libnghttp3-9_1.12.0-1_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.12.0-1) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../065-libngtcp2-16_1.16.0-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.16.0-1) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../066-libkrb5support0_1.21.3-5_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-5) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../067-libcom-err2_1.47.2-3+b3_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-3+b3) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../068-libk5crypto3_1.21.3-5_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../069-libkeyutils1_1.6.3-6_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../070-libkrb5-3_1.21.3-5_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../071-libgssapi-krb5-2_1.21.3-5_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-5) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../072-libidn2-0_2.3.8-4_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.8-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../073-libsasl2-modules-db_2.1.28+dfsg1-10_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-10) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../074-libsasl2-2_2.1.28+dfsg1-10_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-10) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../075-libldap2_2.6.10+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.10+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../076-libnghttp2-14_1.64.0-1.1+b1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Selecting previously unselected package libngtcp2-crypto-ossl0:arm64. Preparing to unpack .../077-libngtcp2-crypto-ossl0_1.16.0-1_arm64.deb ... Unpacking libngtcp2-crypto-ossl0:arm64 (1.16.0-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../078-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../079-libffi8_3.5.2-2_arm64.deb ... Unpacking libffi8:arm64 (3.5.2-2) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../080-libp11-kit0_0.25.9-2_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.9-2) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../081-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../082-libgnutls30t64_3.8.10-3_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.10-3) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../083-librtmp1_2.4+20151223.gitfa8646d.1-3_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../084-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl4t64:arm64. Preparing to unpack .../085-libcurl4t64_8.17.0~rc3-1_arm64.deb ... Unpacking libcurl4t64:arm64 (8.17.0~rc3-1) ... Selecting previously unselected package libdeflate0:arm64. Preparing to unpack .../086-libdeflate0_1.23-2_arm64.deb ... Unpacking libdeflate0:arm64 (1.23-2) ... Selecting previously unselected package libglib2.0-0t64:arm64. Preparing to unpack .../087-libglib2.0-0t64_2.86.1-1_arm64.deb ... Unpacking libglib2.0-0t64:arm64 (2.86.1-1) ... Selecting previously unselected package libicu76:arm64. Preparing to unpack .../088-libicu76_76.1-4_arm64.deb ... Unpacking libicu76:arm64 (76.1-4) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../089-libjpeg62-turbo_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:2.1.5-4) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../090-libgfortran5_15.2.0-7_arm64.deb ... Unpacking libgfortran5:arm64 (15.2.0-7) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../091-liblapack3_3.12.1-7_arm64.deb ... Unpacking liblapack3:arm64 (3.12.1-7) ... Selecting previously unselected package fontconfig. Preparing to unpack .../092-fontconfig_2.15.0-2.4_arm64.deb ... Unpacking fontconfig (2.15.0-2.4) ... Selecting previously unselected package libfribidi0:arm64. Preparing to unpack .../093-libfribidi0_1.0.16-3_arm64.deb ... Unpacking libfribidi0:arm64 (1.0.16-3) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../094-libgraphite2-3_1.3.14-11_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.14-11) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../095-libharfbuzz0b_12.1.0-1_arm64.deb ... Unpacking libharfbuzz0b:arm64 (12.1.0-1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../096-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:arm64. Preparing to unpack .../097-libdatrie1_0.2.13-4_arm64.deb ... Unpacking libdatrie1:arm64 (0.2.13-4) ... Selecting previously unselected package libthai0:arm64. Preparing to unpack .../098-libthai0_0.1.29-2+b1_arm64.deb ... Unpacking libthai0:arm64 (0.1.29-2+b1) ... Selecting previously unselected package libpango-1.0-0:arm64. Preparing to unpack .../099-libpango-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpango-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libpangoft2-1.0-0:arm64. Preparing to unpack .../100-libpangoft2-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpangoft2-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libpangocairo-1.0-0:arm64. Preparing to unpack .../101-libpangocairo-1.0-0_1.56.3-2_arm64.deb ... Unpacking libpangocairo-1.0-0:arm64 (1.56.3-2) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../102-libreadline8t64_8.3-3_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.3-3) ... Selecting previously unselected package libtcl8.6:arm64. Preparing to unpack .../103-libtcl8.6_8.6.17+dfsg-1_arm64.deb ... Unpacking libtcl8.6:arm64 (8.6.17+dfsg-1) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../104-libjbig0_2.1-6.1+b2_arm64.deb ... Unpacking libjbig0:arm64 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:arm64. Preparing to unpack .../105-liblerc4_4.0.0+ds-5_arm64.deb ... Unpacking liblerc4:arm64 (4.0.0+ds-5) ... Selecting previously unselected package libsharpyuv0:arm64. Preparing to unpack .../106-libsharpyuv0_1.5.0-0.1_arm64.deb ... Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... Selecting previously unselected package libwebp7:arm64. Preparing to unpack .../107-libwebp7_1.5.0-0.1_arm64.deb ... Unpacking libwebp7:arm64 (1.5.0-0.1) ... Selecting previously unselected package libtiff6:arm64. Preparing to unpack .../108-libtiff6_4.7.1-1_arm64.deb ... Unpacking libtiff6:arm64 (4.7.1-1) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../109-libtirpc-common_1.3.6+ds-1_all.deb ... Unpacking libtirpc-common (1.3.6+ds-1) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../110-libtirpc3t64_1.3.6+ds-1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.6+ds-1) ... Selecting previously unselected package libxft2:arm64. Preparing to unpack .../111-libxft2_2.3.6-1+b4_arm64.deb ... Unpacking libxft2:arm64 (2.3.6-1+b4) ... Selecting previously unselected package x11-common. Preparing to unpack .../112-x11-common_1%3a7.7+26_all.deb ... Unpacking x11-common (1:7.7+26) ... Selecting previously unselected package libxss1:arm64. Preparing to unpack .../113-libxss1_1%3a1.2.3-1+b3_arm64.deb ... Unpacking libxss1:arm64 (1:1.2.3-1+b3) ... Selecting previously unselected package libtk8.6:arm64. Preparing to unpack .../114-libtk8.6_8.6.17-1_arm64.deb ... Unpacking libtk8.6:arm64 (8.6.17-1) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../115-libice6_2%3a1.1.1-1_arm64.deb ... Unpacking libice6:arm64 (2:1.1.1-1) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../116-libsm6_2%3a1.2.6-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.6-1) ... Selecting previously unselected package libxt6t64:arm64. Preparing to unpack .../117-libxt6t64_1%3a1.2.1-1.3_arm64.deb ... Unpacking libxt6t64:arm64 (1:1.2.1-1.3) ... Selecting previously unselected package r-base-core. Preparing to unpack .../118-r-base-core_4.5.1-1_arm64.deb ... Unpacking r-base-core (4.5.1-1) ... Selecting previously unselected package libgfortran-15-dev:arm64. Preparing to unpack .../119-libgfortran-15-dev_15.2.0-7_arm64.deb ... Unpacking libgfortran-15-dev:arm64 (15.2.0-7) ... Selecting previously unselected package gfortran-15-aarch64-linux-gnu. Preparing to unpack .../120-gfortran-15-aarch64-linux-gnu_15.2.0-7_arm64.deb ... Unpacking gfortran-15-aarch64-linux-gnu (15.2.0-7) ... Selecting previously unselected package gfortran-15. Preparing to unpack .../121-gfortran-15_15.2.0-7_arm64.deb ... Unpacking gfortran-15 (15.2.0-7) ... Selecting previously unselected package gfortran-aarch64-linux-gnu. Preparing to unpack .../122-gfortran-aarch64-linux-gnu_4%3a15.2.0-4_arm64.deb ... Unpacking gfortran-aarch64-linux-gnu (4:15.2.0-4) ... Selecting previously unselected package gfortran. Preparing to unpack .../123-gfortran_4%3a15.2.0-4_arm64.deb ... Unpacking gfortran (4:15.2.0-4) ... Selecting previously unselected package libblas-dev:arm64. Preparing to unpack .../124-libblas-dev_3.12.1-7_arm64.deb ... Unpacking libblas-dev:arm64 (3.12.1-7) ... Selecting previously unselected package liblapack-dev:arm64. Preparing to unpack .../125-liblapack-dev_3.12.1-7_arm64.deb ... Unpacking liblapack-dev:arm64 (3.12.1-7) ... Selecting previously unselected package libncurses6:arm64. Preparing to unpack .../126-libncurses6_6.5+20250216-2_arm64.deb ... Unpacking libncurses6:arm64 (6.5+20250216-2) ... Selecting previously unselected package libncurses-dev:arm64. Preparing to unpack .../127-libncurses-dev_6.5+20250216-2_arm64.deb ... Unpacking libncurses-dev:arm64 (6.5+20250216-2) ... Selecting previously unselected package libreadline-dev:arm64. Preparing to unpack .../128-libreadline-dev_8.3-3_arm64.deb ... Unpacking libreadline-dev:arm64 (8.3-3) ... Selecting previously unselected package libjpeg62-turbo-dev:arm64. Preparing to unpack .../129-libjpeg62-turbo-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libjpeg-dev:arm64. Preparing to unpack .../130-libjpeg-dev_1%3a2.1.5-4_arm64.deb ... Unpacking libjpeg-dev:arm64 (1:2.1.5-4) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../131-libpcre2-16-0_10.46-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../132-libpcre2-32-0_10.46-1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../133-libpcre2-posix3_10.46-1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.46-1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../134-libpcre2-dev_10.46-1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.46-1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../135-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpng-dev:arm64. Preparing to unpack .../136-libpng-dev_1.6.50-1_arm64.deb ... Unpacking libpng-dev:arm64 (1.6.50-1) ... Selecting previously unselected package libbz2-dev:arm64. Preparing to unpack .../137-libbz2-dev_1.0.8-6_arm64.deb ... Unpacking libbz2-dev:arm64 (1.0.8-6) ... Selecting previously unselected package liblzma-dev:arm64. Preparing to unpack .../138-liblzma-dev_5.8.1-2_arm64.deb ... Unpacking liblzma-dev:arm64 (5.8.1-2) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../139-icu-devtools_76.1-4_arm64.deb ... Unpacking icu-devtools (76.1-4) ... Selecting previously unselected package libicu-dev:arm64. Preparing to unpack .../140-libicu-dev_76.1-4_arm64.deb ... Unpacking libicu-dev:arm64 (76.1-4) ... Selecting previously unselected package libxmuu1:arm64. Preparing to unpack .../141-libxmuu1_2%3a1.1.3-3+b4_arm64.deb ... Unpacking libxmuu1:arm64 (2:1.1.3-3+b4) ... Selecting previously unselected package xauth. Preparing to unpack .../142-xauth_1%3a1.1.2-1.1_arm64.deb ... Unpacking xauth (1:1.1.2-1.1) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../143-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../144-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../145-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package libtirpc-dev:arm64. Preparing to unpack .../146-libtirpc-dev_1.3.6+ds-1_arm64.deb ... Unpacking libtirpc-dev:arm64 (1.3.6+ds-1) ... Selecting previously unselected package libdeflate-dev:arm64. Preparing to unpack .../147-libdeflate-dev_1.23-2_arm64.deb ... Unpacking libdeflate-dev:arm64 (1.23-2) ... Selecting previously unselected package libzstd-dev:arm64. Preparing to unpack .../148-libzstd-dev_1.5.7+dfsg-2_arm64.deb ... Unpacking libzstd-dev:arm64 (1.5.7+dfsg-2) ... Selecting previously unselected package r-base-dev. Preparing to unpack .../149-r-base-dev_4.5.1-1_all.deb ... Unpacking r-base-dev (4.5.1-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../150-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libswitch-perl. Preparing to unpack .../151-libswitch-perl_2.17-3_all.deb ... Unpacking libswitch-perl (2.17-3) ... Selecting previously unselected package libclone-perl:arm64. Preparing to unpack .../152-libclone-perl_0.47-1+b1_arm64.deb ... Unpacking libclone-perl:arm64 (0.47-1+b1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../153-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../154-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../155-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../156-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../157-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../158-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../159-libhttp-message-perl_7.01-1_all.deb ... Unpacking libhttp-message-perl (7.01-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../160-libparams-util-perl_1.102-3+b1_arm64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../161-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../162-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:arm64. Preparing to unpack .../163-libb-hooks-op-check-perl_0.22-3+b2_arm64.deb ... Unpacking libb-hooks-op-check-perl:arm64 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../164-libdynaloader-functions-perl_0.004-2_all.deb ... Unpacking libdynaloader-functions-perl (0.004-2) ... Selecting previously unselected package libdevel-callchecker-perl:arm64. Preparing to unpack .../165-libdevel-callchecker-perl_0.009-2_arm64.deb ... Unpacking libdevel-callchecker-perl:arm64 (0.009-2) ... Selecting previously unselected package libparams-classify-perl:arm64. Preparing to unpack .../166-libparams-classify-perl_0.015-2+b4_arm64.deb ... Unpacking libparams-classify-perl:arm64 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../167-libmodule-runtime-perl_0.018-1_all.deb ... Unpacking libmodule-runtime-perl (0.018-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../168-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../169-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../170-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../171-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libclass-load-xs-perl. Preparing to unpack .../172-libclass-load-xs-perl_0.10-2+b4_arm64.deb ... Unpacking libclass-load-xs-perl (0.10-2+b4) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../173-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libdevel-globaldestruction-perl. Preparing to unpack .../174-libdevel-globaldestruction-perl_0.14-4_all.deb ... Unpacking libdevel-globaldestruction-perl (0.14-4) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../175-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../176-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../177-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libdevel-overloadinfo-perl. Preparing to unpack .../178-libdevel-overloadinfo-perl_0.008-1_all.deb ... Unpacking libdevel-overloadinfo-perl (0.008-1) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../179-libdevel-stacktrace-perl_2.0500-1_all.deb ... Unpacking libdevel-stacktrace-perl (2.0500-1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../180-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libeval-closure-perl. Preparing to unpack .../181-libeval-closure-perl_0.14-3_all.deb ... Unpacking libeval-closure-perl (0.14-3) ... Selecting previously unselected package libdist-checkconflicts-perl. Preparing to unpack .../182-libdist-checkconflicts-perl_0.11-2_all.deb ... Unpacking libdist-checkconflicts-perl (0.11-2) ... Selecting previously unselected package libmodule-runtime-conflicts-perl. Preparing to unpack .../183-libmodule-runtime-conflicts-perl_0.003-2_all.deb ... Unpacking libmodule-runtime-conflicts-perl (0.003-2) ... Selecting previously unselected package libpackage-deprecationmanager-perl. Preparing to unpack .../184-libpackage-deprecationmanager-perl_0.18-1_all.deb ... Unpacking libpackage-deprecationmanager-perl (0.18-1) ... Selecting previously unselected package libpackage-stash-xs-perl:arm64. Preparing to unpack .../185-libpackage-stash-xs-perl_0.30-1+b4_arm64.deb ... Unpacking libpackage-stash-xs-perl:arm64 (0.30-1+b4) ... Selecting previously unselected package libmoose-perl:arm64. Preparing to unpack .../186-libmoose-perl_2.4000-1_arm64.deb ... Unpacking libmoose-perl:arm64 (2.4000-1) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../187-libvariable-magic-perl_0.64-1+b1_arm64.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../188-libb-hooks-endofscope-perl_0.28-2_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../189-libsub-identify-perl_0.14-3+b3_arm64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsub-name-perl:arm64. Preparing to unpack .../190-libsub-name-perl_0.28-1_arm64.deb ... Unpacking libsub-name-perl:arm64 (0.28-1) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../191-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../192-libngtcp2-crypto-gnutls8_1.16.0-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.16.0-1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../193-libcurl3t64-gnutls_8.17.0~rc3-1_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.17.0~rc3-1) ... Selecting previously unselected package libwww-curl-perl:arm64. Preparing to unpack .../194-libwww-curl-perl_4.17-12_arm64.deb ... Unpacking libwww-curl-perl:arm64 (4.17-12) ... Selecting previously unselected package libwww-curl-simple-perl. Preparing to unpack .../195-libwww-curl-simple-perl_0.100191-3_all.deb ... Unpacking libwww-curl-simple-perl (0.100191-3) ... Selecting previously unselected package dh-r. Preparing to unpack .../196-dh-r_20250812_all.deb ... Unpacking dh-r (20250812) ... Selecting previously unselected package libabsl20240722:arm64. Preparing to unpack .../197-libabsl20240722_20240722.0-4_arm64.deb ... Unpacking libabsl20240722:arm64 (20240722.0-4) ... Selecting previously unselected package libabsl-dev:arm64. Preparing to unpack .../198-libabsl-dev_20240722.0-4_arm64.deb ... Unpacking libabsl-dev:arm64 (20240722.0-4) ... Selecting previously unselected package libssl-dev:arm64. Preparing to unpack .../199-libssl-dev_3.5.4-1_arm64.deb ... Unpacking libssl-dev:arm64 (3.5.4-1) ... Selecting previously unselected package r-cran-littler. Preparing to unpack .../200-r-cran-littler_0.3.21-2_arm64.deb ... Unpacking r-cran-littler (0.3.21-2) ... Selecting previously unselected package littler. Preparing to unpack .../201-littler_0.3.21-2_all.deb ... Unpacking littler (0.3.21-2) ... Selecting previously unselected package r-cran-pkgkitten. Preparing to unpack .../202-r-cran-pkgkitten_0.2.4-1_all.deb ... Unpacking r-cran-pkgkitten (0.2.4-1) ... Selecting previously unselected package r-cran-rcpp. Preparing to unpack .../203-r-cran-rcpp_1.1.0-1_arm64.deb ... Unpacking r-cran-rcpp (1.1.0-1) ... Selecting previously unselected package r-cran-wk. Preparing to unpack .../204-r-cran-wk_0.9.4-1_arm64.deb ... Unpacking r-cran-wk (0.9.4-1) ... Setting up libexpat1:arm64 (2.7.3-1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libgraphite2-3:arm64 (1.3.14-11) ... Setting up libpixman-1-0:arm64 (0.46.4-1) ... Setting up libtext-charwidth-perl:arm64 (0.04-11+b4) ... Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libxau6:arm64 (1:1.0.11-1) ... Setting up libxdmcp6:arm64 (1:1.1.5-1) ... Setting up libkeyutils1:arm64 (1.6.3-6) ... Setting up libxcb1:arm64 (1.17.0-2+b1) ... Setting up liblerc4:arm64 (4.0.0+ds-5) ... Setting up libzstd-dev:arm64 (1.5.7+dfsg-2) ... Setting up bsdextrautils (2.41.2-4) ... Setting up libdynaloader-functions-perl (0.004-2) ... Setting up libdatrie1:arm64 (0.2.13-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libxcb-render0:arm64 (1.17.0-2+b1) ... Setting up libclone-perl:arm64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libxml2-16:arm64 (2.14.6+dfsg-0.1) ... Setting up libtirpc-common (1.3.6+ds-1) ... Setting up unzip (6.0-29) ... Setting up libdebhelper-perl (13.28) ... Setting up libbrotli1:arm64 (1.1.0-2+b7) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:arm64 (1:5.46-5) ... Setting up x11-common (1:7.7+26) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libtry-tiny-perl (0.32-1) ... Setting up libnghttp2-14:arm64 (1.64.0-1.1+b1) ... Setting up libdeflate0:arm64 (1.23-2) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-2) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libxcb-shm0:arm64 (1.17.0-2+b1) ... Setting up libcom-err2:arm64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libabsl20240722:arm64 (20240722.0-4) ... Setting up libtext-wrapi18n-perl (0.06-10) ... Setting up libjbig0:arm64 (2.1-6.1+b2) ... Setting up libpcre2-16-0:arm64 (10.46-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:arm64 (0.193-3) ... Setting up libkrb5support0:arm64 (1.21.3-5) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-10) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Nov 1 05:24:50 UTC 2025. Universal Time is now: Sat Nov 1 05:24:50 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up zip (3.0-15) ... Setting up libpackage-stash-xs-perl:arm64 (0.30-1+b4) ... Setting up autotools-dev (20240727.1) ... Setting up libpcre2-32-0:arm64 (10.46-1) ... Setting up libblas3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libjpeg62-turbo:arm64 (1:2.1.5-4) ... Setting up libswitch-perl (2.17-3) ... Setting up libx11-data (2:1.8.12-1) ... Setting up libjpeg62-turbo-dev:arm64 (1:2.1.5-4) ... Setting up libncurses6:arm64 (6.5+20250216-2) ... Setting up libfribidi0:arm64 (1.0.16-3) ... Setting up libproc2-0:arm64 (2:4.0.4-9) ... Setting up libunistring5:arm64 (1.3-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libssl-dev:arm64 (3.5.4-1) ... Setting up libpng16-16t64:arm64 (1.6.50-1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up libtcl8.6:arm64 (8.6.17+dfsg-1) ... Setting up autopoint (0.23.1-2) ... Setting up libb-hooks-op-check-perl:arm64 (0.22-3+b2) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-5) ... Setting up libabsl-dev:arm64 (20240722.0-4) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-10) ... Setting up libgfortran5:arm64 (15.2.0-7) ... Setting up autoconf (2.72-3.1) ... Setting up libnghttp3-9:arm64 (1.12.0-1) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libwebp7:arm64 (1.5.0-0.1) ... Setting up libtimedate-perl (2.3300-2) ... Setting up liblzma-dev:arm64 (5.8.1-2) ... Setting up libsub-name-perl:arm64 (0.28-1) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libffi8:arm64 (3.5.2-2) ... Setting up libpcre2-posix3:arm64 (10.46-1) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libtiff6:arm64 (4.7.1-1) ... Setting up libuchardet0:arm64 (0.0.8-2) ... Setting up procps (2:4.0.4-9) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up libx11-6:arm64 (2:1.8.12-1) ... Setting up libthai-data (0.1.29-2) ... Setting up libdevel-globaldestruction-perl (0.14-4) ... Setting up libngtcp2-16:arm64 (1.16.0-1) ... Setting up libdevel-stacktrace-perl (2.0500-1) ... Setting up libkrb5-3:arm64 (1.21.3-5) ... Setting up libicu76:arm64 (76.1-4) ... Setting up libpaper2:arm64 (2.2.5-0.3+b2) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up openssl (3.5.4-1) ... Setting up libdeflate-dev:arm64 (1.23-2) ... Setting up readline-common (8.3-3) ... Setting up xdg-utils (1.2.1-2) ... update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode Setting up libldap2:arm64 (2.6.10+dfsg-1) ... Setting up liburi-perl (5.30-1) ... Setting up libxmuu1:arm64 (2:1.1.3-3+b4) ... Setting up libblas-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode Setting up dctrl-tools (2.24-3+b1) ... Setting up libbz2-dev:arm64 (1.0.8-6) ... Setting up automake (1:1.18.1-2) ... update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up libice6:arm64 (2:1.1.1-1) ... Setting up libhttp-date-perl (6.06-1) ... Setting up liblapack3:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libncurses-dev:arm64 (6.5+20250216-2) ... Setting up gettext (0.23.1-2+b1) ... Setting up libpcre2-dev:arm64 (10.46-1) ... Setting up libxrender1:arm64 (1:0.9.12-1) ... Setting up libtool (2.5.4-7) ... Setting up fontconfig-config (2.15.0-2.4) ... Setting up libpng-dev:arm64 (1.6.50-1) ... Setting up libjpeg-dev:arm64 (1:2.1.5-4) ... Setting up libxext6:arm64 (2:1.3.4-1+b3) ... Setting up libidn2-0:arm64 (2.3.8-4) ... Setting up libpaper-utils (2.2.5-0.3+b2) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libdevel-callchecker-perl:arm64 (0.009-2) ... Setting up libgfortran-15-dev:arm64 (15.2.0-7) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (21) ... Setting up libthai0:arm64 (0.1.29-2+b1) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libglib2.0-0t64:arm64 (2.86.1-1) ... No schema files found: doing nothing. Setting up libfreetype6:arm64 (2.13.3+dfsg-1) ... Setting up gfortran-15-aarch64-linux-gnu (15.2.0-7) ... Setting up libp11-kit0:arm64 (0.25.9-2) ... Setting up liblapack-dev:arm64 (3.12.1-7) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode Setting up libgssapi-krb5-2:arm64 (1.21.3-5) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up icu-devtools (76.1-4) ... Setting up ucf (3.0052) ... Setting up libngtcp2-crypto-ossl0:arm64 (1.16.0-1) ... Setting up libreadline8t64:arm64 (8.3-3) ... Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up xauth (1:1.1.2-1.1) ... Setting up groff-base (1.23.0-9) ... Setting up libharfbuzz0b:arm64 (12.1.0-1) ... Setting up gfortran-aarch64-linux-gnu (4:15.2.0-4) ... Setting up libxss1:arm64 (1:1.2.3-1+b3) ... Setting up libfontconfig1:arm64 (2.15.0-2.4) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libsm6:arm64 (2:1.2.6-1) ... Setting up libicu-dev:arm64 (76.1-4) ... Setting up gfortran-15 (15.2.0-7) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libhttp-message-perl (7.01-1) ... Setting up libeval-closure-perl (0.14-3) ... Setting up libgnutls30t64:arm64 (3.8.10-3) ... Setting up fontconfig (2.15.0-2.4) ... Regenerating fonts cache... done. Setting up libxft2:arm64 (2.3.6-1+b4) ... Setting up libtirpc3t64:arm64 (1.3.6+ds-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libtk8.6:arm64 (8.6.17-1) ... Setting up libparams-classify-perl:arm64 (0.015-2+b4) ... Setting up libpango-1.0-0:arm64 (1.56.3-2) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up libreadline-dev:arm64 (8.3-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up gfortran (4:15.2.0-4) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up libcairo2:arm64 (1.18.4-1+b1) ... Setting up libtirpc-dev:arm64 (1.3.6+ds-1) ... Setting up libmodule-runtime-perl (0.018-1) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-3) ... Setting up libxt6t64:arm64 (1:1.2.1-1.3) ... Setting up libdist-checkconflicts-perl (0.11-2) ... Setting up libpangoft2-1.0-0:arm64 (1.56.3-2) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.16.0-1) ... Setting up libpangocairo-1.0-0:arm64 (1.56.3-2) ... Setting up libcurl4t64:arm64 (8.17.0~rc3-1) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libcurl3t64-gnutls:arm64 (8.17.0~rc3-1) ... Setting up libwww-curl-perl:arm64 (4.17-12) ... Setting up debhelper (13.28) ... Setting up libmodule-runtime-conflicts-perl (0.003-2) ... Setting up libclass-load-perl (0.25-2) ... Setting up r-base-core (4.5.1-1) ... Creating config file /etc/R/Renviron with new version Setting up libpackage-deprecationmanager-perl (0.18-1) ... Setting up libdevel-overloadinfo-perl (0.008-1) ... Setting up libclass-load-xs-perl (0.10-2+b4) ... Setting up r-cran-wk (0.9.4-1) ... Setting up r-cran-pkgkitten (0.2.4-1) ... Setting up libb-hooks-endofscope-perl (0.28-2) ... Setting up r-cran-littler (0.3.21-2) ... Setting up r-cran-rcpp (1.1.0-1) ... Setting up r-base-dev (4.5.1-1) ... Setting up littler (0.3.21-2) ... Setting up libmoose-perl:arm64 (2.4000-1) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libwww-curl-simple-perl (0.100191-3) ... Setting up dh-r (20250812) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.2-1). Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for forky I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/r-cran-s2-1.1.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../r-cran-s2_1.1.9-1_source.changes dpkg-buildpackage: info: source package r-cran-s2 dpkg-buildpackage: info: source version 1.1.9-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Nilesh Patra dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem R dh_auto_clean -O--buildsystem=R dh_autoreconf_clean -O--buildsystem=R dh_clean -O--buildsystem=R debian/rules binary dh binary --buildsystem R dh_update_autotools_config -O--buildsystem=R dh_autoreconf -O--buildsystem=R dh_auto_configure -O--buildsystem=R dh_auto_build -O--buildsystem=R dh: command-omitted: The call to "dh_auto_test -O--buildsystem=R" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=R dh_prep -O--buildsystem=R dh_auto_install --destdir=debian/r-cran-s2/ -O--buildsystem=R I: R packages needed for DEP8: bit64, testthat (>= 3.0.0), vctrs I: R Package: s2 Version: 1.1.9 I: Building using R version 4.5.1-1 I: R API version: r-api-4.0 I: Using built-time from d/changelog: Sun, 26 Oct 2025 19:50:44 +0530 mkdir -p /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library R CMD INSTALL -l /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library --clean . --built-timestamp="'Sun, 26 Oct 2025 19:50:44 +0530'" * installing *source* package 's2' ... ** this is package 's2' version '1.1.9' files 'R/zzz.R', 'src/Makevars.in', 'src/s2/util/math/exactfloat/exactfloat.cc' have the wrong MD5 checksums ** using staged installation Found OpenSSL pkg-config cflags and libs! Testing compiler OpenSSL configuration using PKG_CFLAGS= ** Using PKG_CONFIG_PATH=:/build/reproducible-path/r-cran-s2-1.1.9/tools/pkgconfig ** Using abseil-cpp from pkg-config Testing Abseil configuration using PKG_CFLAGS= Using PKG_LIBS=-labsl_flags_internal -labsl_flags_marshalling -labsl_log_severity -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_raw_logging_internal -labsl_raw_logging_internal -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_throw_delegate -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_check_op -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_conditions -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_severity -labsl_log_severity -labsl_log_internal_proto -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_nullguard -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_log_sink_set -labsl_log_internal_globals -labsl_log_severity -labsl_log_globals -labsl_hash -labsl_city -labsl_bad_variant_access -labsl_low_level_hash -labsl_log_severity -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_severity -labsl_log_sink -labsl_log_entry -labsl_log_severity -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_stacktrace -labsl_strerror -labsl_str_format_internal -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -Wl,--push-state,--as-needed -latomic -Wl,--pop-state -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto Using PKG_CFLAGS= ** libs using C compiler: 'gcc (Debian 15.2.0-7) 15.2.0' using C++ compiler: 'g++ (Debian 15.2.0-7) 15.2.0' using C++17 make[1]: Entering directory '/build/reproducible-path/r-cran-s2-1.1.9/src' g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c cpp-compat.cpp -o cpp-compat.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-accessors.cpp -o s2-accessors.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from geography-operator.h:7, from s2-accessors.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-bounds.cpp -o s2-bounds.o In file included from s2/s2latlng_rect.h:29, from s2-bounds.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s1angle.h:28, from s2/s2latlng_rect.h:30: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s1chord_angle.h:31, from s2/s2cap.h:31, from s2-bounds.cpp:3: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-options.h:7, from s2-bounds.cpp:5: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2builder.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8, from s2-options.h:13: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-cell.cpp -o s2-cell.o In file included from ../src/s2/r2rect.h:26, from s2/s2cell_id.h:42, from s2-cell.cpp:8: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2-cell.cpp:9: s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2-cell.cpp:10: s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2convex_hull_query.h:26, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from s2-cell.cpp:12: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:46, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/r2.h:22, from s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:160:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2LatLng ll = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized(); | ^ s2-cell.cpp: In member function 'virtual SEXPREC* cpp_s2_cell_center(Rcpp::NumericVector)::Op::processCell(S2CellId, R_xlen_t)': s2-cell.cpp:357:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | return RGeography::MakeXPtr(RGeography::MakePoint(cellId.ToPoint())); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ geography.h: In static member function 'static std::unique_ptr RGeography::MakePoint(S2Point)': geography.h:41:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | static std::unique_ptr MakePoint(S2Point point) { | ^~~~~~~~~ s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:160:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2LatLng ll = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ In file included from s2geography/aggregator.h:4, from s2geography/accessors-geog.h:6: s2geography/geography.h: In constructor 's2geography::PointGeography::PointGeography(S2Point)': s2geography/geography.h:74:3: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | PointGeography(S2Point point) { points_.push_back(point); } | ^~~~~~~~~~~~~~ s2-cell.cpp: In function 'Rcpp::NumericVector cpp_s2_cell_from_lnglat(Rcpp::List)': s2-cell.cpp:144:15: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 144 | NumericVector cpp_s2_cell_from_lnglat(List lnglat) { | ^~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-cell-union.cpp -o s2-cell-union.o In file included from ../src/s2/r2rect.h:26, from s2/s2cell_id.h:42, from s2-cell-union.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2-cell-union.cpp:3: s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2-cell-union.cpp:4: s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from s2/s2shape_index_buffered_region.h:29, from s2-cell-union.cpp:7: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r2.h:22, from s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2distance_target.h:26: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-constructors-formatters.cpp -o s2-constructors-formatters.o In file included from ../src/s2/s1angle.h:28, from s2/s2pointutil.h:25, from s2-constructors-formatters.cpp:6: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26, from s2geography/accessors-geog.h:4, from s2geography.h:4, from geography.h:7, from s2-constructors-formatters.cpp:9: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:888:43: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 888 | R2Point Project(const S2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const': s2-constructors-formatters.cpp:895:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 895 | S2Point Unproject(const R2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:909:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::wrap_distance() const': s2-constructors-formatters.cpp:913:33: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 913 | R2Point wrap_distance() const {return R2Point(0, 0); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2geography.h:7: s2geography/constructor.h: In member function 'void s2geography::util::Constructor::finish_points()': s2geography/constructor.h:90:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | points_.push_back(options_.projection()->Unproject(R2Point(pt.x(), pt.y()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)': s2-constructors-formatters.cpp:373:55: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ^ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:889:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ^ s2-constructors-formatters.cpp:891:36: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 891 | return R2Point(out.y(), out.z()); | ^ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^~~~~~~~ s2-constructors-formatters.cpp:910:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 910 | return S2LatLng(Unproject(p)); | ~~~~~~~~~^~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~ s2-constructors-formatters.cpp:906:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~~~~^~ s2-constructors-formatters.cpp:906:32: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ^ s2-constructors-formatters.cpp: In function 'SEXPREC* c_s2_projection_orthographic(SEXP)': s2-constructors-formatters.cpp:948:69: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 948 | S2LatLng::FromDegrees(REAL(centre_sexp)[1], REAL(centre_sexp)[0]); | ^ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2-constructors-formatters.cpp: In function 'SEXPREC* c_s2_projection_orthographic(SEXP)': s2-constructors-formatters.cpp:948:26: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 948 | S2LatLng::FromDegrees(REAL(centre_sexp)[1], REAL(centre_sexp)[0]); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::wrap_distance() const': s2-constructors-formatters.cpp:913:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 913 | R2Point wrap_distance() const {return R2Point(0, 0); } | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const': s2-constructors-formatters.cpp:895:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 895 | S2Point Unproject(const R2Point& p) const { | ^~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const': s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 888 | R2Point Project(const S2Point& p) const { | ^~~~~~~ s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:888:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual R2Point OrthographicProjection::FromLatLng(const S2LatLng&) const': s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 905 | R2Point FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~ s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:905:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:906:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~~~~^~ s2-constructors-formatters.cpp:906:19: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 906 | return Project(ll.ToPoint()); | ~~~~~~~^~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const': s2-constructors-formatters.cpp:910:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 910 | return S2LatLng(Unproject(p)); | ~~~~~~~~~^~~ s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 909 | S2LatLng ToLatLng(const R2Point& p) const { | ^~~~~~~~ s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:909:12: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual S2Point OrthographicProjection::Unproject(const R2Point&) const', inlined from 'virtual S2LatLng OrthographicProjection::ToLatLng(const R2Point&) const' at s2-constructors-formatters.cpp:910:30: s2-constructors-formatters.cpp:900:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 900 | S2Point out = S2::Rotate(pp, y_axis_, -centre_.lat()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 481 | int handle_points(const s2geography::PointGeography& geog, | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]': s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 481 | int handle_points(const s2geography::PointGeography& geog, | ^~~~~~~~~~~~~ s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:481:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:503:5: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int handle_points(const s2geography::PointGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:510:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2geography/constructor.h: In member function 'virtual s2geography::Handler::Result s2geography::util::PointConstructor::coords(const double*, int64_t, int32_t)': s2geography/constructor.h:129:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | points_.push_back(options_.projection()->Unproject(pt)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ s2-constructors-formatters.cpp: In function 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 521 | int handle_polylines(const s2geography::PolylineGeography& geog, | ^~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:521:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:548:9: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:548:9: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:550:9: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:550:9: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:566:11: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:566:11: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:568:11: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:391:23, inlined from 'int handle_polylines(const s2geography::PolylineGeography&, EdgeExporterT*, wk_handler_t*, uint32_t) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:568:11: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]': s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 626 | int handle_shell(const S2Polygon& poly, | ^~~~~~~~~~~~ s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:595:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:595:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:597:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_shell(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:597:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:631:3: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:617:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::coord_in_series(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:386:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:617:5, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:373:49, inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int SimpleExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int SimpleExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:396:23, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = SimpleExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:373:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2geography/constructor.h: In member function 'void s2geography::util::Constructor::finish_points()': s2geography/constructor.h:90:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | points_.push_back(options_.projection()->Unproject(R2Point(pt.x(), pt.y()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp: In member function 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)': s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 453 | int last_coord_in_loop(const wk_meta_t* meta, const S2Point& point, wk_handler_t* handler) { | ^~~~~~~~~~~~~~~~~~ s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:453:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ s2-constructors-formatters.cpp: In function 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]': s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 626 | int handle_shell(const S2Polygon& poly, | ^~~~~~~~~~~~ s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-constructors-formatters.cpp:626:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'virtual R2Point OrthographicProjection::Project(const S2Point&) const', inlined from 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)' at s2-constructors-formatters.cpp:415:49, inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:889:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 889 | S2Point out = S2::Rotate(p, z_axis_, -centre_.lng()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'int TessellatingExporter::coord_point(const wk_meta_t*, const S2Point&, uint32_t, wk_handler_t*)', inlined from 'int TessellatingExporter::last_coord_in_loop(const wk_meta_t*, const S2Point&, wk_handler_t*)' at s2-constructors-formatters.cpp:464:7, inlined from 'int handle_loop_hole(const S2Loop*, EdgeExporterT*, const wk_meta_t*, uint32_t, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:619:3, inlined from 'int handle_shell(const S2Polygon&, EdgeExporterT*, const wk_meta_t*, int, wk_handler_t*) [with EdgeExporterT = TessellatingExporter]' at s2-constructors-formatters.cpp:637:7: s2-constructors-formatters.cpp:415:49: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 415 | R2Point out = options_.projection()->Project(point); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-predicates.cpp -o s2-predicates.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-predicates.cpp:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2closest_edge_query.h:32, from s2-predicates.cpp:3: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2-predicates.cpp: In member function 'virtual int cpp_s2_intersects_box(Rcpp::List, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-predicates.cpp:213:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:213:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ^ s2-predicates.cpp:214:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ^ s2-predicates.cpp:226:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 226 | S2LatLngRect rect(S2LatLng::FromDegrees(ymin, xmin), S2LatLng::FromDegrees(ymax, xmax)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': ../src/s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ s2-predicates.cpp: In member function 'virtual int cpp_s2_intersects_box(Rcpp::List, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-predicates.cpp:213:50: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 199 | int processFeature(XPtr feature, R_xlen_t i) { | ^~~~~~~~~~~~~~ s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-predicates.cpp:199:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-predicates.cpp:213:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:213:80: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point westEquator = S2LatLng::FromDegrees(0, xmin).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:70: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-predicates.cpp:214:80: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 214 | S2Point eastEquator = S2LatLng::FromDegrees(0, xmax).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-transformers.cpp -o s2-transformers.o In file included from ../src/s2/s1angle.h:28, from s2/s2shape_index_buffered_region.h:23, from s2-transformers.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2shape_index_buffered_region.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from s2/s2shape_index_buffered_region.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2distance_target.h:26: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2-transformers.cpp: In member function 'virtual SEXPREC* cpp_s2_point_on_surface(Rcpp::List)::Op::processFeature(Rcpp::XPtr, R_xlen_t)': s2-transformers.cpp:232:81: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 232 | S2Point result = s2geography::s2_point_on_surface(feature->Geog(), coverer); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c init.cpp -o init.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c RcppExports.cpp -o RcppExports.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-geography.cpp -o s2-geography.o In file included from ../src/s2/s1angle.h:28, from s2/s2latlng.h:32, from s2-geography.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2polyline.h:34, from s2-geography.cpp:3: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography.h:8, from geography.h:7, from s2-geography.cpp:6: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r2.h:22, from s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2/s2polygon.h:43, from s2-geography.cpp:4: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-lnglat.cpp -o s2-lnglat.o In file included from ../src/s2/s1angle.h:28, from s2/s2latlng.h:32, from s2-lnglat.cpp:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/r2.h:22, from s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2-lnglat.cpp: In function 'Rcpp::List s2_point_from_s2_lnglat(Rcpp::List)': s2-lnglat.cpp:43:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:43:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:43:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ s2-lnglat.cpp: In function 'int s2_point_trans(R_xlen_t, const double*, double*, void*)': s2-lnglat.cpp:53:85: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ^ s2-lnglat.cpp:53:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:53:85: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ^ s2-lnglat.cpp:53:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 52 | int s2_point_trans(R_xlen_t feature_id, const double* xyzm_in, double* xyzm_out, void* trans_data) { | ^~~~~~~~~~~~~~ s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:52:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:53:74: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:53:84: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | S2Point pt = S2LatLng::FromDegrees(xyzm_in[1], xyzm_in[0]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp: In function 'Rcpp::List s2_point_from_s2_lnglat(Rcpp::List)': s2-lnglat.cpp:31:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | List s2_point_from_s2_lnglat(List s2_lnglat) { | ^~~~~~~~~~~~~~~~~~~~~~~ s2-lnglat.cpp:31:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2-lnglat.cpp:43:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2-lnglat.cpp:43:70: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 43 | item = S2LatLng::FromDegrees(lat[i], lng[i]).Normalized().ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2-matrix.cpp -o s2-matrix.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2boolean_operation.h:26, from s2-matrix.cpp:6: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2closest_edge_query.h:32, from s2-matrix.cpp:7: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c wk-impl.c -o wk-impl.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/accessors-geog.cc -o s2geography/accessors-geog.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2geography/accessors-geog.h:4, from s2geography/accessors-geog.cc:2: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/accessors-geog.cc: In function 'S2Point s2geography::s2_centroid(const Geography&)': s2geography/accessors-geog.cc:12:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 12 | S2Point s2_centroid(const Geography& geog) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/accessors.cc -o s2geography/accessors.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/accessors.h:4, from s2geography/accessors.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2geography/accessors.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2geography/accessors.cc:273:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | } // namespace s2geography | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/build.cc -o s2geography/build.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2point_vector_layer.h:27, from s2geography/build.h:4, from s2geography/build.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2point_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/coverings.cc -o s2geography/coverings.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2region_coverer.h:31, from s2geography/coverings.h:4, from s2geography/coverings.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/mutable_s2shape_index.h:46, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/coverings.h:6: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/coverings.cc: In function 'S2Point s2geography::s2_point_on_surface(const Geography&, S2RegionCoverer&)': s2geography/coverings.cc:13:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 13 | S2Point s2_point_on_surface(const Geography& geog, S2RegionCoverer& coverer) { | ^~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/distance.cc -o s2geography/distance.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/distance.h:4, from s2geography/distance.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2closest_edge_query.h:32, from s2geography/distance.cc:4: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/distance.cc: In function 'S2Point s2geography::s2_closest_point(const ShapeIndexGeography&, const ShapeIndexGeography&)': s2geography/distance.cc:33:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 33 | S2Point s2_closest_point(const ShapeIndexGeography& geog1, | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/geography.cc -o s2geography/geography.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/geography.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2shape_index_region.h:29, from s2geography/geography.cc:12: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2shape_index_region.h:32: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/linear-referencing.cc -o s2geography/linear-referencing.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2geography/geography.h:4, from s2geography/linear-referencing.h:4, from s2geography/linear-referencing.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2geography/linear-referencing.cc: In function 'double s2geography::s2_project_normalized(const PolylineGeography&, const S2Point&)': s2geography/linear-referencing.cc:17:76: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 17 | S2Point point_on_line = geog1.Polylines()[0]->Project(point, &next_vertex); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2geography/predicates.cc -o s2geography/predicates.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2boolean_operation.h:26, from s2geography/predicates.h:4, from s2geography/predicates.cc:2: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2cell_id_vector.cc -o s2/encoded_s2cell_id_vector.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/encoded_s2cell_id_vector.h:29, from s2/encoded_s2cell_id_vector.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2point_vector.cc -o s2/encoded_s2point_vector.o In file included from ../src/s2/encoded_s2point_vector.h:30, from s2/encoded_s2point_vector.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/encoded_s2point_vector.cc:36: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/encoded_s2point_vector.cc: In member function 'std::vector s2coding::EncodedS2PointVector::Decode() const': s2/encoded_s2point_vector.cc:142:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 142 | points.push_back((*this)[i]); | ~~~~~~~~~^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/encoded_s2point_vector.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2/encoded_s2point_vector.cc:870:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 870 | } // namespace s2coding | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_s2shape_index.cc -o s2/encoded_s2shape_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/encoded_s2cell_id_vector.h:29, from ../src/s2/encoded_s2shape_index.h:30, from s2/encoded_s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/encoded_string_vector.cc -o s2/encoded_string_vector.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/id_set_lexicon.cc -o s2/id_set_lexicon.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/mutable_s2shape_index.cc -o s2/mutable_s2shape_index.o In file included from ../src/s2/mutable_s2shape_index.h:39, from s2/mutable_s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/mutable_s2shape_index.cc:48: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/mutable_s2shape_index.cc: In static member function 'static S2Point MutableS2ShapeIndex::InteriorTracker::Origin()': s2/mutable_s2shape_index.cc:369:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 369 | S2Point MutableS2ShapeIndex::InteriorTracker::Origin() { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In constructor 'MutableS2ShapeIndex::InteriorTracker::InteriorTracker()': s2/mutable_s2shape_index.cc:366:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 366 | : b_(Origin()), next_cellid_(S2CellId::Begin(S2CellId::kMaxLevel)) { | ^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc: In member function 'std::unique_ptr MutableS2ShapeIndex::Release(int)': s2/mutable_s2shape_index.cc:556:72: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 556 | s2shapeutil::ContainsBruteForce(*shape, InteriorTracker::Origin()); | ~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::FinishPartialShape(int)': s2/mutable_s2shape_index.cc:1123:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1123 | tracker.MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::UpdateFaceEdges(int, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1258:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1258 | R2Rect bound = R2Rect::Empty(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:188:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | inline R2Rect R2Rect::FromPointPair(const R2Point& p1, const R2Point& p2) { | ^~~~~~ ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell&, const Iterator&, std::vector*, InteriorTracker*, EdgeAllocator*)': s2/mutable_s2shape_index.cc:1599:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1599 | tracker->MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc:1672:20: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1672 | clipped->bound = S2::GetClippedEdgeBound(face_edge.a, face_edge.b, | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1673 | pcell.bound()); | ~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell&, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1844:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1844 | tracker->MoveTo(pcell.GetEntryVertex()); | ~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/mutable_s2shape_index.cc: In static member function 'static S2Point MutableS2ShapeIndex::InteriorTracker::Origin()': s2/mutable_s2shape_index.cc:371:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 371 | return S2::FaceUVtoXYZ(0, -1, -1).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/mutable_s2shape_index.cc: In member function 'int MutableS2ShapeIndex::GetEdgeMaxLevel(const S2Shape::Edge&) const': s2/mutable_s2shape_index.cc:1188:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1188 | ((edge.v0 - edge.v1).Norm() * | ^~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell&, const Iterator&, std::vector*, InteriorTracker*, EdgeAllocator*)': s2/mutable_s2shape_index.cc:1575:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1575 | void MutableS2ShapeIndex::AbsorbIndexCell(const S2PaddedCell& pcell, | ^~~~~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc:1575:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/mutable_s2shape_index.cc:1672:45: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1672 | clipped->bound = S2::GetClippedEdgeBound(face_edge.a, face_edge.b, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 1673 | pcell.bound()); | ~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell&, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1693:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1693 | bool MutableS2ShapeIndex::MakeIndexCell(const S2PaddedCell& pcell, | ^~~~~~~~~~~~~~~~~~~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::UpdateFaceEdges(int, const std::vector&, InteriorTracker*)': s2/mutable_s2shape_index.cc:1258:31: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1258 | R2Rect bound = R2Rect::Empty(); | ~~~~~~~~~~~~~^~ s2/mutable_s2shape_index.cc: In member function 'void MutableS2ShapeIndex::FinishPartialShape(int)': s2/mutable_s2shape_index.cc:1055:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1055 | void MutableS2ShapeIndex::FinishPartialShape(int shape_id) { | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/r2rect.cc -o s2/r2rect.o In file included from ../src/s2/r2rect.h:26, from s2/r2rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:43: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:48: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~~ s2/r2rect.cc:63:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | R1Interval xx = x().Expanded(margin.x()); | ^ s2/r2rect.cc:65:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 65 | if (xx.is_empty() || yy.is_empty()) return Empty(); | ^ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Expanded(double) const': ../src/s2/r1interval.h:181:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 181 | R1Interval Expanded(double margin) const { | ^~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^~~~~~ ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Union(const R2Rect&) const': s2/r2rect.cc:69:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | R2Rect R2Rect::Union(const R2Rect& other) const { | ^~~~~~ s2/r2rect.cc:70:26: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | return R2Rect(x().Union(other.x()), y().Union(other.y())); | ~~~~~~~~~^~~~~~~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Intersection(const R2Rect&) const': s2/r2rect.cc:73:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | R2Rect R2Rect::Intersection(const R2Rect& other) const { | ^~~~~~ s2/r2rect.cc:74:45: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | R1Interval xx = x().Intersection(other.x()); | ^ s2/r2rect.cc:76:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 76 | if (xx.is_empty() || yy.is_empty()) return Empty(); | ^ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Intersection(const R1Interval&) const': ../src/s2/r1interval.h:196:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 196 | R1Interval Intersection(const R1Interval& y) const { | ^~~~~~~~~~~~ s2/r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const R2Rect&)': s2/r2rect.cc:86:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const R2Rect&)': s2/r2rect.cc:86:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/r2rect.cc: In static member function 'static R2Rect R2Rect::FromCenterSize(const R2Point&, const R2Point&)': s2/r2rect.cc:25:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 25 | R2Rect R2Rect::FromCenterSize(const R2Point& center, const R2Point& size) { | ^~~~~~ s2/r2rect.cc: In member function 'R2Point R2Rect::Project(const R2Point&) const': s2/r2rect.cc:58:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | R2Point R2Rect::Project(const R2Point& p) const { | ^~~~~~ s2/r2rect.cc: In member function 'R2Rect R2Rect::Expanded(const R2Point&) const': s2/r2rect.cc:62:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | R2Rect R2Rect::Expanded(const R2Point& margin) const { | ^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1angle.cc -o s2/s1angle.o In file included from ../src/s2/s1angle.h:28, from s2/s1angle.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s1angle.cc:26: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:18: required from 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double; FloatType = double]' 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ^~~~~~~~~ s2/s1angle.cc:30:23: required from here 30 | : radians_(x.Angle(y)) { | ~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1chord_angle.cc -o s2/s1chord_angle.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from s2/s1chord_angle.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s1interval.cc -o s2/s1interval.o In file included from s2/s1interval.cc:18: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2boolean_operation.cc -o s2/s2boolean_operation.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2boolean_operation.h:26, from s2/s2boolean_operation.cc:67: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from s2/s2boolean_operation.cc:94: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2boolean_operation.cc: In member function 'bool S2BooleanOperation::Impl::AddIndexCrossing(const ShapeEdge&, const ShapeEdge&, bool, IndexCrossings*)': s2/s2boolean_operation.cc:2209:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 2209 | S2::GetIntersection(a.v0(), a.v1(), b.v0(), b.v1())); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2buffer_operation.cc -o s2/s2buffer_operation.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2buffer_operation.h:25, from s2/s2buffer_operation.cc:49: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2buffer_operation.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::Init(std::unique_ptr, const Options&)': s2/s2buffer_operation.cc:288:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 288 | ref_point_ = S2::Origin(); | ~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddPoint(const S2Point&)': s2/s2buffer_operation.cc:469:60: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | S2Point rotate_dir = point.CrossProd(start).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc:471:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 471 | S2Point dir = S2::GetPointOnRay(start, rotate_dir, angle); | ^ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:257:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | inline S2Point GetPointOnRay(const S2Point& origin, const S2Point& dir, | ^~~~~~~~~~~~~ ../src/s2/s2edge_distances.h:272:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:499:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 499 | S2Point dir = S2::GetPointOnRay(start, rotate_dir, angle); | ^ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ In file included from ../src/s2/s2buffer_operation.h:26: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::CloseVertexArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:506:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 506 | AddOffsetVertex(S2::GetPointOnRay(v, end, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:522:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 522 | S2Point rotate_dir = buffer_sign_ * a.CrossProd(ab_axis).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc:525:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S2Point p = S2::GetPointOnRay(a, rotate_dir, angle); | ^ s2/s2buffer_operation.cc: In member function 'S2Point S2BufferOperation::GetEdgeAxis(const S2Point&, const S2Point&) const': s2/s2buffer_operation.cc:488:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc:488:60: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc:488:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 488 | return buffer_sign_ * S2::RobustCrossProd(b, a).Normalize(); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::CloseEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:535:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 535 | AddOffsetVertex(S2::GetPointOnRay(b, GetEdgeAxis(a, b), abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddStartCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:598:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 598 | AddVertexArc(a, axis.CrossProd(a).Normalize(), axis); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:606:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 606 | S2Point axis = GetEdgeAxis(a, b); | ^ s2/s2buffer_operation.cc:618:48: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | S2Point end = b.CrossProd(axis).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2buffer_operation.cc:64: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::Init(std::unique_ptr, const Options&)': s2/s2buffer_operation.cc:288:26: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 288 | ref_point_ = S2::Origin(); | ~~~~~~~~~~^~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:496:68: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | S2Point rotate_dir = buffer_sign_ * v.CrossProd(start).Normalize(); | ^ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:613:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 613 | AddVertexArc(b, axis, -axis); | ^~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddVertexArc(const S2Point&, const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:496:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | S2Point rotate_dir = buffer_sign_ * v.CrossProd(start).Normalize(); | ~~~~~~~~~~~^~~~~~~ s2/s2buffer_operation.cc:500:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 500 | AddOffsetVertex(S2::GetPointOnRay(v, dir, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEdgeArc(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:522:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 522 | S2Point rotate_dir = buffer_sign_ * a.CrossProd(ab_axis).Normalize(); | ~~~~~~~~~~~^~~~~~~~~ s2/s2buffer_operation.cc:526:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 526 | AddOffsetVertex(S2::GetPointOnRay(p, ab_axis, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddEndCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:618:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | S2Point end = b.CrossProd(axis).Normalize(); | ~~~~~~~~~~~^~~~~~ s2/s2buffer_operation.cc:605:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 605 | void S2BufferOperation::AddEndCap(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddStartCap(const S2Point&, const S2Point&)': s2/s2buffer_operation.cc:598:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 598 | AddVertexArc(a, axis.CrossProd(a).Normalize(), axis); | ~~~~~~~~~~~~~~^~~ s2/s2buffer_operation.cc:582:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | void S2BufferOperation::AddStartCap(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2buffer_operation.cc: In member function 'void S2BufferOperation::AddPoint(const S2Point&)': s2/s2buffer_operation.cc:469:43: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | S2Point rotate_dir = point.CrossProd(start).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~ s2/s2buffer_operation.cc:472:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 472 | AddOffsetVertex(S2::GetPointOnRay(point, dir, abs_radius_)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builder_graph.cc -o s2/s2builder_graph.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builder_graph.h:31, from s2/s2builder_graph.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builder.cc -o s2/s2builder.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from s2/s2builder.cc:71: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2closest_edge_query.h:32, from s2/s2builder.cc:101: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2builder.cc: In member function 'void S2Builder::MaybeAddExtraSites(InputEdgeId, const std::vector&, const MutableS2ShapeIndex&, absl::debian7::flat_hash_set*)': s2/s2builder.cc:986:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 986 | S2::Project(v1, a0, a1)).Normalize(); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetSeparationSite(const S2Point&, const S2Point&, const S2Point&, InputEdgeId) const': s2/s2builder.cc:1094:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1094 | S2Point S2Builder::GetSeparationSite(const S2Point& site_to_avoid, | ^~~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetCoverageEndpoint(const S2Point&, const S2Point&) const': s2/s2builder.cc:1135:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1135 | S2Point S2Builder::GetCoverageEndpoint(const S2Point& p, const S2Point& n) | ^~~~~~~~~ s2/s2builder.cc:1156:28: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1156 | S2Point nXp = n.CrossProd(p); | ~~~~~~~~~~~^~~ s2/s2builder.cc:1163:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1163 | return (om + mr).Normalize(); | ^ s2/s2builder.cc:1163:29: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1163 | return (om + mr).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ../src/s2/s2builder.h:38: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2builder.cc: In member function 'S2Point S2Builder::GetSeparationSite(const S2Point&, const S2Point&, const S2Point&, InputEdgeId) const': s2/s2builder.cc:1120:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1120 | S2Point gap_max = GetCoverageEndpoint(v1, -n); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_closed_set_normalizer.cc -o s2/s2builderutil_closed_set_normalizer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_closed_set_normalizer.h:25, from s2/s2builderutil_closed_set_normalizer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_find_polygon_degeneracies.cc -o s2/s2builderutil_find_polygon_degeneracies.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_find_polygon_degeneracies.cc: In member function 'bool s2builderutil::{anonymous}::DegeneracyFinder::CrossingParity(VertexId, VertexId, bool) const': s2/s2builderutil_find_polygon_degeneracies.cc:262:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 262 | S2Point p0_ref = S2::RefDir(p0); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_get_snapped_winding_delta.cc -o s2/s2builderutil_get_snapped_winding_delta.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_get_snapped_winding_delta.h:24, from s2/s2builderutil_get_snapped_winding_delta.cc:50: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'int s2builderutil::GetSnappedWindingDelta(const S2Point&, VertexId, absl::debian7::Span, const InputEdgeFilter&, const S2Builder&, const Graph&, S2Error*)': s2/s2builderutil_get_snapped_winding_delta.cc:282:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 282 | S2Point z = S2::Ortho(ref_out); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'S2Point s2builderutil::{anonymous}::GetConnector(const S2Point&, const S2Point&, const S2Point&)': s2/s2builderutil_get_snapped_winding_delta.cc:176:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point GetConnector(const S2Point& b0, const S2Point& b1, | ^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:183:74: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2builderutil_get_snapped_winding_delta.cc:183:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:183:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:184:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | return (x.DotProd(S2::Interpolate(b0, b1, 0.5)) >= 0) ? x : -x; | ^ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'int s2builderutil::GetSnappedWindingDelta(const S2Point&, VertexId, absl::debian7::Span, const InputEdgeFilter&, const S2Builder&, const Graph&, S2Error*)': s2/s2builderutil_get_snapped_winding_delta.cc:335:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 335 | if (za.DotProd(ref_out) > 0) za = -za; | ^~ s2/s2builderutil_get_snapped_winding_delta.cc: In function 'S2Point s2builderutil::{anonymous}::GetConnector(const S2Point&, const S2Point&, const S2Point&)': s2/s2builderutil_get_snapped_winding_delta.cc:183:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 183 | S2Point x = S2::RobustCrossProd(b0, b1).CrossProd(b1_snapped).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2builderutil_get_snapped_winding_delta.cc:176:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point GetConnector(const S2Point& b0, const S2Point& b1, | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_lax_polygon_layer.cc -o s2/s2builderutil_lax_polygon_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_lax_polygon_layer.h:42, from s2/s2builderutil_lax_polygon_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_lax_polygon_layer.h:43: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_lax_polyline_layer.cc -o s2/s2builderutil_lax_polyline_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_lax_polyline_layer.h:27, from s2/s2builderutil_lax_polyline_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_lax_polyline_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2point_vector_layer.cc -o s2/s2builderutil_s2point_vector_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2point_vector_layer.h:27, from s2/s2builderutil_s2point_vector_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2point_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polygon_layer.cc -o s2/s2builderutil_s2polygon_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polygon_layer.h:42, from s2/s2builderutil_s2polygon_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polygon_layer.h:43: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2builderutil_s2polygon_layer.h:47: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polyline_layer.cc -o s2/s2builderutil_s2polyline_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polyline_layer.h:27, from s2/s2builderutil_s2polyline_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polyline_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_s2polyline_vector_layer.cc -o s2/s2builderutil_s2polyline_vector_layer.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builderutil_s2polyline_vector_layer.h:27, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2builderutil_s2polyline_vector_layer.h:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2builderutil_snap_functions.cc -o s2/s2builderutil_snap_functions.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2builderutil_snap_functions.h:23, from s2/s2builderutil_snap_functions.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2builderutil_snap_functions.h:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IdentitySnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point IdentitySnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IntLatLngSnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:345:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 345 | S2Point IntLatLngSnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc:350:31: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 350 | return S2LatLng::FromDegrees(lat * to_degrees_, lng * to_degrees_).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2builderutil_snap_functions.cc:350:78: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 350 | return S2LatLng::FromDegrees(lat * to_degrees_, lng * to_degrees_).ToPoint(); | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromDegrees(double, double)': ../src/s2/s2latlng.h:202:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 202 | inline constexpr S2LatLng S2LatLng::FromDegrees(double lat_degrees, | ^~~~~~~~ s2/s2builderutil_snap_functions.cc: In member function 'virtual S2Point s2builderutil::IdentitySnapFunction::SnapPoint(const S2Point&) const': s2/s2builderutil_snap_functions.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point IdentitySnapFunction::SnapPoint(const S2Point& point) const { | ^~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cap.cc -o s2/s2cap.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from s2/s2cap.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2cap.cc:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from s2/s2cap.cc:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2cell.h:27, from s2/s2cap.cc:32: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2edge_crossings.h:43, from ../src/s2/s2edge_distances.h:31, from s2/s2cap.cc:35: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cap.cc: In member function 'S2Point S2Cap::GetCentroid() const': s2/s2cap.cc:50:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point S2Cap::GetCentroid() const { | ^~~~~ s2/s2cap.cc:60:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | return r * GetArea() * center_; | ~~~~~~~~~~~~~~^~~~~~~~~ s2/s2cap.cc: In member function 'S2Cap S2Cap::Complement() const': s2/s2cap.cc:68:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return S2Cap(-center_, S1ChordAngle::FromLength2(4 - radius_.length2())); | ^~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/s2/s2cap.h:31: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cap.cc: In member function 'S2Cap S2Cap::Union(const S2Cap&) const': s2/s2cap.cc:135:73: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 135 | 0.5 * (distance - this_radius + other_radius)); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2cap.cc: In member function 'bool S2Cap::Intersects(const S2Cell&, const S2Point*) const': s2/s2cap.cc:244:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S2Point edge = cell.GetEdgeRaw(k); | ^ s2/s2cap.cc:260:43: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | Vector3_d dir = edge.CrossProd(center_); | ^ s2/s2cap.cc: In member function 'virtual bool S2Cap::Contains(const S2Cell&) const': s2/s2cap.cc:274:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 274 | vertices[k] = cell.GetVertex(k); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2cap.cc: In member function 'virtual bool S2Cap::MayIntersect(const S2Cell&) const': s2/s2cap.cc:287:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 287 | vertices[k] = cell.GetVertex(k); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2cap.cc: In member function 'S2Cap S2Cap::Complement() const': s2/s2cap.cc:68:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return S2Cap(-center_, S1ChordAngle::FromLength2(4 - radius_.length2())); | ^~~~~~~ s2/s2cap.cc: In member function 'S2Point S2Cap::GetCentroid() const': s2/s2cap.cc:60:26: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | return r * GetArea() * center_; | ^~~~~~~ s2/s2cap.cc:50:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point S2Cap::GetCentroid() const { | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_id.cc -o s2/s2cell_id.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/s2cell_id.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from s2/s2cell_id.cc:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2cell_id.cc: In member function 'S2Point S2CellId::ToPointRaw() const': s2/s2cell_id.cc:379:32: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 379 | S2Point S2CellId::ToPointRaw() const { | ^~~~~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:31: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:33: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/s2cell_id.cc: In constructor 'S2CellId::S2CellId(const S2LatLng&)': s2/s2cell_id.cc:319:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | : S2CellId(ll.ToPoint()) { | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~~~~ s2/s2cell_id.cc:386:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 386 | return S2LatLng(ToPointRaw()); | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^~~~~~~~ s2/s2cell_id.cc: In member function 'R2Rect S2CellId::GetBoundST() const': s2/s2cell_id.cc:416:44: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~^~ s2/s2cell_id.cc:416:67: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ^ s2/s2cell_id.cc: In static member function 'static S2CellId S2CellId::FromFaceIJWrap(int, int, int)': s2/s2cell_id.cc:494:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 494 | face = S2::XYZtoFaceUV(S2::FaceUVtoXYZ(face, u, v), &u, &v); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2cell_id.cc: In constructor 'S2CellId::S2CellId(const S2LatLng&)': s2/s2cell_id.cc:318:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 318 | S2CellId::S2CellId(const S2LatLng& ll) | ^~~~~~~~ s2/s2cell_id.cc: In member function 'S2LatLng S2CellId::ToLatLng() const': s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 385 | S2LatLng S2CellId::ToLatLng() const { | ^~~~~~~~ s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:385:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:386:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 386 | return S2LatLng(ToPointRaw()); | ~~~~~~~~~~^~ s2/s2cell_id.cc: In member function 'R2Point S2CellId::GetCenterST() const': s2/s2cell_id.cc:389:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 389 | R2Point S2CellId::GetCenterST() const { | ^~~~~~~~ s2/s2cell_id.cc: In static member function 'static R2Rect S2CellId::IJLevelToBoundUV(int*, int)': s2/s2cell_id.cc:402:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 402 | R2Rect S2CellId::IJLevelToBoundUV(int ij[2], int level) { | ^~~~~~~~ s2/s2cell_id.cc: In member function 'R2Rect S2CellId::GetBoundST() const': s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 414 | R2Rect S2CellId::GetBoundST() const { | ^~~~~~~~ s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:414:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2cell_id.cc:416:44: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~^~ s2/s2cell_id.cc:416:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | return R2Rect::FromCenterSize(GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell_id.cc: In static member function 'static S2CellId S2CellId::FromFaceIJWrap(int, int, int)': s2/s2cell_id.cc:494:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 494 | face = S2::XYZtoFaceUV(S2::FaceUVtoXYZ(face, u, v), &u, &v); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_index.cc -o s2/s2cell_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2cell_index.h:31, from s2/s2cell_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell_union.cc -o s2/s2cell_union.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_union.h:37, from s2/s2cell_union.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2cell_union.h:38: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from s2/s2cell_union.cc:35: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2cell_union.cc:37: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2cell_union.cc:238:35: required from here 238 | centroid += area * id.ToPoint(); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cell_union.cc: In member function 'virtual S2Cap S2CellUnion::GetCapBound() const': s2/s2cell_union.cc:238:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ~~~~~~~~~~^~ s2/s2cell_union.cc:238:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ~~~~~^~~~~~~~~~~~~~ s2/s2cell_union.cc:243:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | centroid = centroid.Normalize(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2cell_union.cc: In member function 'virtual S2Cap S2CellUnion::GetCapBound() const': s2/s2cell_union.cc:238:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | centroid += area * id.ToPoint(); | ^ s2/s2cell_union.cc:243:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | centroid = centroid.Normalize(); | ~~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2cell.cc -o s2/s2cell.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2cell.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2cell.cc:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43, from ../src/s2/s2edge_crosser.h:23, from s2/s2cell.cc:36: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from s2/s2cell.cc:37: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2cell.cc: In function 'R2Rect OppositeUV(const R2Rect&)': s2/s2cell.cc:530:49: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 530 | inline static R2Rect OppositeUV(const R2Rect& uv) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2cell.cc: In constructor 'S2Cell::S2Cell(S2CellId)': s2/s2cell.cc:66:7: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | uv_ = S2CellId::IJLevelToBoundUV(ij, level_); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetEdgeRaw(int) const': s2/s2cell.cc:69:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point S2Cell::GetEdgeRaw(int k) const { | ^~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc: In member function 'bool S2Cell::Subdivide(S2Cell*) const': s2/s2cell.cc:85:36: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 85 | R2Point uv_mid = id_.GetCenterUV(); | ^ s2/s2cell.cc: In member function 'S2Point S2Cell::GetCenterRaw() const': s2/s2cell.cc:109:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | S2Point S2Cell::GetCenterRaw() const { | ^~~~~~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:124:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ^~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'double S2Cell::ExactArea() const': s2/s2cell.cc:141:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 141 | S2Point v0 = GetVertex(0); | ^ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:162:56: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~^~ s2/s2cell.cc:162:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetCenter() const': ../src/s2/r2rect.h:217:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | inline R2Point R2Rect::GetCenter() const { | ^~~~~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:195:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | int i = S2::GetUAxis(face_)[2] == 0 ? (u < 0) : (u > 0); | ~~~~~~~~~~~~^~~~~~~ s2/s2cell.cc:198:69: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | GetLatitude(1-i, 1-j)); | ^ s2/s2cell.cc:200:68: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 200 | GetLongitude(1-i, j)); | ^ s2/s2cell.cc:219:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | Expanded(S2LatLng::FromRadians(2 * DBL_EPSILON, 2 * DBL_EPSILON)). | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:244:44: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2cell.cc:266:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | return bound.Expanded(S2LatLng::FromRadians(DBL_EPSILON, 0)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::GetUAxis(int)': ../src/s2/s2coords.h:445:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 445 | inline S2Point GetUAxis(int face) { | ^~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'double S2Cell::GetLongitude(int, int) const': s2/s2cell.cc:176:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | S2Point p = S2::FaceUVtoXYZ(face_, uv_[0][i], uv_[1][j]); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:197:27: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 197 | inline constexpr S2LatLng S2LatLng::FromRadians(double lat_radians, | ^~~~~~~~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:300:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 300 | return uv_.Expanded(DBL_EPSILON).Contains(uv); | ~~~~~~~~~~~~^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetDistanceInternal(const S2Point&, bool) const': s2/s2cell.cc:366:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 366 | S2Point target = S2::FaceXYZtoUVW(face_, target_xyz); | ^ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Cell&) const': s2/s2cell.cc:538:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 538 | uv_.Intersects(OppositeUV(target.uv_))) { | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2cell.cc:551:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 551 | va[i] = GetVertex(i); | ~~~~~~^~~~~~~~~~~~~~ s2/s2cell.cc: In function 'R2Rect OppositeUV(const R2Rect&)': s2/s2cell.cc:530:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 530 | inline static R2Rect OppositeUV(const R2Rect& uv) { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:300:22: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 300 | return uv_.Expanded(DBL_EPSILON).Contains(uv); | ~~~~~~~~~~~~^~~~~~~~~~~~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:195:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | int i = S2::GetUAxis(face_)[2] == 0 ? (u < 0) : (u > 0); | ~~~~~~~~~~~~^~~~~~~ s2/s2cell.cc:197:47: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 197 | R1Interval lat = R1Interval::FromPointPair(GetLatitude(i, j), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 198 | GetLatitude(1-i, 1-j)); | ~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:219:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | Expanded(S2LatLng::FromRadians(2 * DBL_EPSILON, 2 * DBL_EPSILON)). | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:244:44: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2cell.cc:266:46: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | return bound.Expanded(S2LatLng::FromRadians(DBL_EPSILON, 0)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:162:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2cell.cc:162:56: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 162 | S2Point center = S2::FaceUVtoXYZ(face_, uv_.GetCenter()).Normalize(); | ~~~~~~~~~~~~~^~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:58: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Point&) const': s2/s2cell.cc:438:50: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 438 | return S1ChordAngle::Straight() - GetDistance(-target); | ^~~~~~ s2/s2cell.cc: In member function 'virtual bool S2Cell::Contains(const S2Point&) const': s2/s2cell.cc:277:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 277 | bool S2Cell::Contains(const S2Point& p) const { | ^~~~~~ s2/s2cell.cc: In member function 'virtual S2Cap S2Cell::GetCapBound() const': s2/s2cell.cc:165:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 165 | cap.AddPoint(GetVertex(k)); | ~~~~~~~~~^~~ s2/s2cell.cc: In member function 'virtual S2LatLngRect S2Cell::GetRectBound() const': s2/s2cell.cc:180:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 180 | S2LatLngRect S2Cell::GetRectBound() const { | ^~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ s2/s2cell.cc: In constructor 'S2Cell::S2Cell(S2CellId)': s2/s2cell.cc:60:1: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | S2Cell::S2Cell(S2CellId id) { | ^~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetEdgeRaw(int) const': s2/s2cell.cc:69:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point S2Cell::GetEdgeRaw(int k) const { | ^~~~~~ s2/s2cell.cc: In member function 'bool S2Cell::Subdivide(S2Cell*) const': s2/s2cell.cc:78:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | bool S2Cell::Subdivide(S2Cell children[4]) const { | ^~~~~~ s2/s2cell.cc: In member function 'S2Point S2Cell::GetCenterRaw() const': s2/s2cell.cc:109:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | S2Point S2Cell::GetCenterRaw() const { | ^~~~~~ s2/s2cell.cc: In member function 'double S2Cell::ApproxArea() const': s2/s2cell.cc:125:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 124 | double flat_area = 0.5 * (GetVertex(2) - GetVertex(0)). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | CrossProd(GetVertex(3) - GetVertex(1)).Norm(); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'S2Point S2Cell::GetVertex(int) const', inlined from 'double S2Cell::ApproxArea() const' at s2/s2cell.cc:124:38: ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ s2/s2cell.cc: In member function 'S1ChordAngle S2Cell::GetMaxDistance(const S2Cell&) const': s2/s2cell.cc:538:32: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 538 | uv_.Intersects(OppositeUV(target.uv_))) { | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2cell.cc:552:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | vb[i] = target.GetVertex(i); | ~~~~~~~~~~~~~~~~^~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2centroids.cc -o s2/s2centroids.o In file included from ../src/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:27:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 27 | S2Point PlanarCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~~~ s2/s2centroids.cc:28:17: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~~~~~~~~~~ s2/s2centroids.cc:28:26: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~ s2/s2centroids.cc:28:17: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ~~~~~~~^~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:31:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | S2Point TrueCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~ s2/s2centroids.cc:68:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | return 0.5 * S2Point(y.CrossProd(z).DotProd(r), | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | z.CrossProd(x).DotProd(r), | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 | x.CrossProd(y).DotProd(r)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&)': s2/s2centroids.cc:73:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 73 | S2Point TrueCentroid(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~ s2/s2centroids.cc:82:28: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 82 | return sqrt(sin2 / cos2) * vsum; // Length == 2*sin(theta) | ~~~~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:28:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 28 | return (1./3) * (a + b + c); | ^ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:70:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | x.CrossProd(y).DotProd(r)); | ^ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&)': s2/s2centroids.cc:78:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | S2Point vsum = a + b; // Length == 2*cos(theta) | ^ s2/s2centroids.cc:82:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 82 | return sqrt(sin2 / cos2) * vsum; // Length == 2*sin(theta) | ^~~~ s2/s2centroids.cc: In function 'S2Point S2::PlanarCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:27:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 27 | S2Point PlanarCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)' at s2/s2centroids.cc:41:27: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2centroids.cc: In function 'S2Point S2::TrueCentroid(const S2Point&, const S2Point&, const S2Point&)': s2/s2centroids.cc:31:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | S2Point TrueCentroid(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_cell_query.cc -o s2/s2closest_cell_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_cell_query.h:26, from s2/s2closest_cell_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_cell_query.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_cell_query_base.h:43, from ../src/s2/s2closest_cell_query.h:32: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36, from ../src/s2/s2closest_cell_query.h:33: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_edge_query.cc -o s2/s2closest_edge_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_edge_query.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2closest_point_query.cc -o s2/s2closest_point_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2closest_point_query.h:26, from s2/s2closest_point_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2closest_point_query.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_point_query_base.h:36, from ../src/s2/s2closest_point_query.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_point_query_base.h:37: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2contains_vertex_query.cc -o s2/s2contains_vertex_query.o In file included from ../src/s2/s2contains_vertex_query.h:22, from s2/s2contains_vertex_query.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2contains_vertex_query.cc: In member function 'int S2ContainsVertexQuery::ContainsSign()': s2/s2contains_vertex_query.cc:39:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 39 | S2Point reference_dir = S2::RefDir(target_); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2convex_hull_query.cc -o s2/s2convex_hull_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cap.h:30, from ../src/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2convex_hull_query.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40, from ../src/s2/s2loop.h:34, from ../src/s2/s2convex_hull_query.h:27: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/15/bits/stl_algobase.h:71, from /usr/include/c++/15/bits/stl_uninitialized.h:63, from /usr/include/c++/15/memory:71, from ../src/s2/s2convex_hull_query.h:21: /usr/include/c++/15/bits/predefined_ops.h: In instantiation of 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:4874:70: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2convex_hull_query.cc:130:12: required from here 130 | std::sort(points_.begin(), points_.end(), OrderedCcwAround(origin)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:164:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 164 | __iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In instantiation of '__gnu_cxx::__ops::_Val_comp_iter<_Compare> __gnu_cxx::__ops::__val_comp_iter(_Iter_comp_iter<_Compare>) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:1787:38: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1818:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1818 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1909:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' 1909 | std::__final_insertion_sort(__first, __last, __comp); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:4874:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2convex_hull_query.cc:130:12: required from here 130 | std::sort(points_.begin(), points_.end(), OrderedCcwAround(origin)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:252:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | __val_comp_iter(_Iter_comp_iter<_Compare> __comp) | ^~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()': s2/s2convex_hull_query.cc:129:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point origin = cap.center().Ortho(); | ~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::Ortho() const [with T = double]': ../src/s2/util/math/vector.h:477:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 477 | Vector3 Ortho() const { | ^~~~~ In file included from /usr/include/c++/15/algorithm:63, from ../src/s2/s2cap.h:21: /usr/include/c++/15/bits/stl_algo.h: In function 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/stl_algo.h:4862:5: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 4862 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | ^~~~ /usr/include/c++/15/bits/stl_algo.h:4874:18: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 4874 | std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In function 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare> __gnu_cxx::__ops::__iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:164:5: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 164 | __iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:165:61: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 165 | { return _Iter_comp_iter<_Compare>(_GLIBCXX_MOVE(__comp)); } | ^ /usr/include/c++/15/bits/predefined_ops.h: In constructor 'constexpr __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::_Iter_comp_iter(_Compare) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:150:7: note: parameter passing for argument of type 'OrderedCcwAround' when C++17 is enabled changed to match C++14 in GCC 10.1 150 | _Iter_comp_iter(_Compare __comp) | ^~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1901:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1901 | __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | ^~~~~~ In file included from /usr/include/c++/15/bits/stl_algo.h:61: /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | ^~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_val]': /usr/include/c++/15/bits/stl_heap.h:135:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 135 | __push_heap(_RandomAccessIterator __first, | ^~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1852:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1852 | __unguarded_partition_pivot(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__unguarded_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1799:39: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1799 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1800 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h: In function '__gnu_cxx::__ops::_Val_comp_iter<_Compare> __gnu_cxx::__ops::__val_comp_iter(_Iter_comp_iter<_Compare>) [with _Compare = OrderedCcwAround]': /usr/include/c++/15/bits/predefined_ops.h:252:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | __val_comp_iter(_Iter_comp_iter<_Compare> __comp) | ^~~~~~~~~~~~~~~ /usr/include/c++/15/bits/predefined_ops.h:253:60: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 253 | { return _Val_comp_iter<_Compare>(_GLIBCXX_MOVE(__comp)); } | ^ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1771:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1771 | __insertion_sort(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1786:43: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1786 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSinglePointLoop(const S2Point&)': s2/s2convex_hull_query.cc:187:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 187 | S2Point d1 = p.CrossProd(d0); | ~~~~~~~~~~~^~~~ s2/s2convex_hull_query.cc:190:50: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc:190:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~~~~~~^~~~ s2/s2convex_hull_query.cc:190:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ~~~^~~~~~~~~~~~~~~ s2/s2convex_hull_query.cc:191:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ~~~~~~~~^~~~ s2/s2convex_hull_query.cc:191:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ~~~^~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:207:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | if (a == -b) return make_unique(S2Loop::kFull()); | ^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSinglePointLoop(const S2Point&)': s2/s2convex_hull_query.cc:190:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | vertices.push_back((p + kOffset * d0).Normalize()); | ^~ s2/s2convex_hull_query.cc:191:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ^~ s2/s2convex_hull_query.cc:191:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 191 | vertices.push_back((p + kOffset * d1).Normalize()); | ^~ s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:207:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | if (a == -b) return make_unique(S2Loop::kFull()); | ^ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Val_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1751:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1751 | __unguarded_linear_insert(_RandomAccessIterator __last, | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_algo.h:1771:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1771 | __insertion_sort(_RandomAccessIterator __first, | ^~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_algo.h:1786:43: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1786 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1787 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = long int; _Tp = S2Point; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]': /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | ^~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1594:23, inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1869:25, inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1885:27: /usr/include/c++/15/bits/stl_heap.h:356:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | std::__adjust_heap(__first, __parent, __len, _GLIBCXX_MOVE(__value), | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 357 | __comp); | ~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:356:29: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__sort_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_heap.h:425:19, inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1870:23, inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1885:27: /usr/include/c++/15/bits/stl_heap.h:264:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 264 | std::__adjust_heap(__first, _DistanceType(0), | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _DistanceType(__last - __first), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | _GLIBCXX_MOVE(__value), __comp); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_heap.h:264:25: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2convex_hull_query.cc: In member function 'std::unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point&, const S2Point&)': s2/s2convex_hull_query.cc:195:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 195 | unique_ptr S2ConvexHullQuery::GetSingleEdgeLoop(const S2Point& a, | ^~~~~~~~~~~~~~~~~ In member function 'Vector3 Vector3::Ortho() const [with T = double]', inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:129:38: ../src/s2/util/math/vector.h:482:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 482 | return CrossProd(temp).Normalize(); | ~~~~~~~~~^~~~~~ In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1906:32: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1906 | std::__introsort_loop(__first, __last, | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 1907 | std::__lg(__last - __first) * 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1908 | __comp); | ~~~~~~~ In function 'void std::__unguarded_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1819:35, inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1909:31, inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1799:39: note: parameter passing for argument of type '__gnu_cxx::__ops::_Val_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1799 | std::__unguarded_linear_insert(__i, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 1800 | __gnu_cxx::__ops::__val_comp_iter(__comp)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]', inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter]' at /usr/include/c++/15/bits/stl_algo.h:1909:31, inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator >; _Compare = OrderedCcwAround]' at /usr/include/c++/15/bits/stl_algo.h:4874:18, inlined from 'std::unique_ptr S2ConvexHullQuery::GetConvexHull()' at s2/s2convex_hull_query.cc:130:12: /usr/include/c++/15/bits/stl_algo.h:1823:30: note: parameter passing for argument of type '__gnu_cxx::__ops::_Iter_comp_iter' when C++17 is enabled changed to match C++14 in GCC 10.1 1823 | std::__insertion_sort(__first, __last, __comp); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2coords.cc -o s2/s2coords.o In file included from ../src/s2/s2coords.h:108, from s2/s2coords.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2coords.h:106: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2coords.cc: In function 'S2Point S2::FaceXYZtoUVW(int, const S2Point&)': s2/s2coords.cc:104:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | S2Point FaceXYZtoUVW(int face, const S2Point& p) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2coords.cc: In function 'S2Point S2::FaceSiTitoXYZ(int, unsigned int, unsigned int)': s2/s2coords.cc:142:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 142 | S2Point FaceSiTitoXYZ(int face, unsigned int si, unsigned int ti) { | ^~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2coords.cc: In function 'S2Point S2::FaceXYZtoUVW(int, const S2Point&)': s2/s2coords.cc:104:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | S2Point FaceXYZtoUVW(int face, const S2Point& p) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2crossing_edge_query.cc -o s2/s2crossing_edge_query.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2crossing_edge_query.h:30, from s2/s2crossing_edge_query.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23, from ../src/s2/s2crossing_edge_query.h:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2crossing_edge_query.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2crossing_edge_query.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const CellVisitor&)': s2/s2crossing_edge_query.cc:217:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const S2PaddedCell&, const CellVisitor&)': s2/s2crossing_edge_query.cc:254:55: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ^ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2PaddedCell&, const R2Rect&)': s2/s2crossing_edge_query.cc:285:38: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 285 | R2Point center = pcell.middle().lo(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:190:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 190 | R1Interval::FromPointPair(p1.y(), p2.y())); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2PaddedCell&, const R2Rect&)': s2/s2crossing_edge_query.cc:285:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 285 | R2Point center = pcell.middle().lo(); | ~~~~~~~~~~~~~~~~~^~ s2/s2crossing_edge_query.cc: In member function 'bool S2CrossingEdgeQuery::VisitCells(const S2Point&, const S2Point&, const S2PaddedCell&, const CellVisitor&)': s2/s2crossing_edge_query.cc:254:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | R2Rect edge_bound = R2Rect::FromPointPair(a0_, a1_); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2debug.cc -o s2/s2debug.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2earth.cc -o s2/s2earth.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2earth.h:24, from s2/s2earth.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2earth.h:26: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:18: required from 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double; FloatType = double]' 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ^~~~~~~~~ ../src/s2/s2earth.h:241:33: required from here 241 | return RadiansToMeters(a.Angle(b)); | ~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_clipping.cc -o s2/s2edge_clipping.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_clipping.h:38, from s2/s2edge_clipping.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_clipping.h:39: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from s2/s2edge_clipping.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:126:58: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R2Point GetExitPoint(const S2PointUVW& n, int axis) { | ^ s2/s2edge_clipping.cc: In function 'R2Rect S2::GetClippedEdgeBound(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:418:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | const R2Rect& clip) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_clipping.h:37: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector2 Vector2::Ortho() const [with T = double]': s2/s2edge_clipping.cc:373:28: required from here 373 | R2Point n = (b - a).Ortho(); | ~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:408:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector2 Ortho() const { return Vector2(-c_[1], c_[0]); } | ^~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'void S2::GetFaceSegments(const S2Point&, const S2Point&, FaceSegmentVector*)': s2/s2edge_clipping.cc:230:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 230 | S2Point ab = S2::RobustCrossProd(a, b); | ^ s2/s2edge_clipping.cc:242:15: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | segment.b = GetExitPoint(n, exit_axis); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:248:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 248 | S2Point exit_xyz = S2::FaceUVtoXYZ(face, segment.b); | ^ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:133:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | friend S2Point operator-(const S2Point& pnt) { | ^~~~~~~~ ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'int S2::MoveOriginToValidFace(int, const S2Point&, const S2Point&, R2Point*)': s2/s2edge_clipping.cc:155:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 155 | S2PointUVW n = S2::FaceXYZtoUVW(face, ab); | ^ s2/s2edge_clipping.cc:159:54: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | S2Point exit = S2::FaceUVtoXYZ(face, GetExitPoint(n, GetExitAxis(n))); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:159:73: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | S2Point exit = S2::FaceUVtoXYZ(face, GetExitPoint(n, GetExitAxis(n))); | ^ s2/s2edge_clipping.cc:160:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:160:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~^~ s2/s2edge_clipping.cc:160:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | S2Point a_tangent = ab.Normalize().CrossProd(a); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:161:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 161 | if ((exit - a).DotProd(a_tangent) >= -kFaceClipErrorRadians) { | ~~~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:126:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R2Point GetExitPoint(const S2PointUVW& n, int axis) { | ^~~~~~~~~~~~ In file included from s2/s2edge_clipping.cc:27: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::ClipToPaddedFace(const S2Point&, const S2Point&, int, double, R2Point*, R2Point*)': s2/s2edge_clipping.cc:352:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 352 | S2PointUVW a_tangent = n.CrossProd(a); | ~~~~~~~~~~~^~~ s2/s2edge_clipping.cc:356:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | int a_score = ClipDestination(b, a, -scaled_n, b_tangent, a_tangent, | ^~~~~~~~~ s2/s2edge_clipping.cc: In function 'int S2::ClipDestination(const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, double, R2Point*)': s2/s2edge_clipping.cc:284:7: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 284 | *uv = scale_uv * GetExitPoint(scaled_n, GetExitAxis(scaled_n)); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_clipping.cc:307:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | if ((p - a).DotProd(a_tangent) < 0) { | ~~~^~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:365:44: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 365 | R2Rect bound = R2Rect::FromPointPair(a, b); | ^ s2/s2edge_clipping.cc:373:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point n = (b - a).Ortho(); | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::FromPointPair(const R2Point&, const R2Point&)': ../src/s2/r2rect.h:188:15: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | inline R2Rect R2Rect::FromPointPair(const R2Point& p1, const R2Point& p2) { | ^~~~~~ ../src/s2/r2rect.h:189:42: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 189 | return R2Rect(R1Interval::FromPointPair(p1.x(), p2.x()), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector2 Vector2::Ortho() const [with T = double]': ../src/s2/util/math/vector.h:408:11: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector2 Ortho() const { return Vector2(-c_[1], c_[0]); } | ^~~~~ s2/s2edge_clipping.cc: In function 'R2Rect S2::GetClippedEdgeBound(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:417:8: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 417 | R2Rect GetClippedEdgeBound(const R2Point& a, const R2Point& b, | ^~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:34: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/s2edge_clipping.cc: In function 'bool S2::ClipEdge(const R2Point&, const R2Point&, const R2Rect&, R2Point*, R2Point*)': s2/s2edge_clipping.cc:441:44: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 441 | R2Rect bound = R2Rect::FromPointPair(a, b); | ^ s2/s2edge_clipping.cc:444:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 444 | *a_clipped = bound.GetVertex(ai, aj); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:185:55: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 185 | return R2Rect(R1Interval::Empty(), R1Interval::Empty()); | ~~~~~~~~~~~~~~~~~^~ s2/s2edge_clipping.cc: In function 'R2Point S2::GetExitPoint(const S2PointUVW&, int)': s2/s2edge_clipping.cc:451:1: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 451 | } // namespace S2 | ^ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2edge_clipping.cc: In function 'int S2::MoveOriginToValidFace(int, const S2Point&, const S2Point&, R2Point*)': s2/s2edge_clipping.cc:161:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 161 | if ((exit - a).DotProd(a_tangent) >= -kFaceClipErrorRadians) { | ^ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:373:28: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 373 | R2Point n = (b - a).Ortho(); | ~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2edge_clipping.cc: In function 'int S2::ClipDestination(const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, const S2PointUVW&, double, R2Point*)': s2/s2edge_clipping.cc:307:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | if ((p - a).DotProd(a_tangent) < 0) { | ^ s2/s2edge_clipping.cc:284:64: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 284 | *uv = scale_uv * GetExitPoint(scaled_n, GetExitAxis(scaled_n)); | ^ s2/s2edge_clipping.cc:309:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 309 | } else if ((p - b).DotProd(b_tangent) < 0) { | ^ s2/s2edge_clipping.cc: In function 'void S2::GetFaceSegments(const S2Point&, const S2Point&, FaceSegmentVector*)': s2/s2edge_clipping.cc:242:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | segment.b = GetExitPoint(n, exit_axis); | ~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2edge_clipping.cc:205:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 205 | void GetFaceSegments(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~~ s2/s2edge_clipping.cc: In function 'bool S2::IntersectsRect(const R2Point&, const R2Point&, const R2Rect&)': s2/s2edge_clipping.cc:365:39: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 365 | R2Rect bound = R2Rect::FromPointPair(a, b); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_crosser.cc -o s2/s2edge_crosser.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_crossings.h:40: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_crossings.h:38: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2edge_crosser.h: In constructor 'S2EdgeCrosserBase::S2EdgeCrosserBase(ArgType, ArgType) [with PointRep = S2::internal::S2Point_PointerRep]': ../src/s2/s2edge_crosser.h:306:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 306 | : a_(a), b_(b), a_cross_b_(a_->CrossProd(*b_)), have_tangents_(false), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_PointerRep]': s2/s2edge_crosser.cc:55:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2Point norm = S2::RobustCrossProd(*a_, *b_); | ^~~~ s2/s2edge_crosser.cc:56:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | a_tangent_ = a_->CrossProd(norm); | ~~~~~~~~~~~~~^~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal(PointRep) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:29:5: note: parameter passing for argument of type 'S2::internal::S2Point_ValueRep' when C++17 is enabled changed to match C++14 in GCC 10.1 29 | int S2EdgeCrosserBase::CrossingSignInternal(PointRep d) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:55:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2Point norm = S2::RobustCrossProd(*a_, *b_); | ^~~~ s2/s2edge_crosser.cc:56:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | a_tangent_ = a_->CrossProd(norm); | ~~~~~~~~~~~~~^~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_PointerRep]': s2/s2edge_crosser.cc:40:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | inline int S2EdgeCrosserBase::CrossingSignInternal2( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2edge_crosser.h: In constructor 'S2EdgeCrosserBase::S2EdgeCrosserBase(ArgType, ArgType) [with PointRep = S2::internal::S2Point_ValueRep]': ../src/s2/s2edge_crosser.h:306:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 306 | : a_(a), b_(b), a_cross_b_(a_->CrossProd(*b_)), have_tangents_(false), | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal2(const S2Point&) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:40:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | inline int S2EdgeCrosserBase::CrossingSignInternal2( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crosser.cc: In member function 'int S2EdgeCrosserBase::CrossingSignInternal(PointRep) [with PointRep = S2::internal::S2Point_ValueRep]': s2/s2edge_crosser.cc:29:5: note: parameter passing for argument of type 'S2::internal::S2Point_ValueRep' when C++17 is enabled changed to match C++14 in GCC 10.1 29 | int S2EdgeCrosserBase::CrossingSignInternal(PointRep d) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_crossings.cc -o s2/s2edge_crossings.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2edge_crossings.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_crossings.h:40: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^ s2/s2edge_crossings.cc: In function 'Vector3_d S2::SymbolicCrossProdSorted(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:170:76: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 170 | static Vector3_d SymbolicCrossProdSorted(const S2Point& a, const S2Point& b) { | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::ToS2Point(const Vector3_xf&)': s2/s2edge_crossings.cc:657:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 657 | inline static S2Point ToS2Point(const Vector3_xf& xf) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_crossings.h:38: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/s2point.h: In instantiation of 'static S2Point S2Point::Cast(const Vector3&) [with T = long double]': s2/s2edge_crossings.cc:492:28: required from here 492 | *result = S2Point::Cast(result_ld); | ~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2point.h:138:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | static S2Point Cast(const Vector3& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const long double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:160:27: required from here 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]': s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = int; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:295:42: required from here 295 | return ldexp(2, -1 - ilogb(p_max)) * p; | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = long double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const int&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = int; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:679:53: required from here 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const long double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = long double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = long double; VT2 = Vector3; T2 = long double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_crossings.cc:422:28: required from 'T S2::RobustNormalWithLength(const Vector3&, const Vector3&, Vector3*) [with T = long double]' 422 | *result = (1 / length) * tmp; | ~~~~~~~~~~~~~^~~~~ s2/s2edge_crossings.cc:476:29: required from 'bool S2::GetIntersectionSimple(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]' 476 | if (RobustNormalWithLength(a0, a1, &a_norm) >= kMinNormalLength && | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:490:28: required from here 490 | if (GetIntersectionSimple(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | &result_ld)) { | ~~~~~~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:123:3: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ^ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:3: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:159:48: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | if (kHasLongDouble && GetStableCrossProd(ToLD(a), ToLD(b), &result_ld)) { | ~~~~^~~ s2/s2edge_crossings.cc:160:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ^ s2/s2edge_crossings.cc:160:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc:163:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ^ s2/s2edge_crossings.cc:163:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:26: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^~~~ ../src/s2/util/math/vector.h: In static member function 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = long double; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:370:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 370 | if (a == c) return (b == d) || s2pred::OrderedCCW(S2::RefDir(a), d, b, a); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:679:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:679:48: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~^~~~~~ s2/s2edge_crossings.cc:679:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 679 | return s2pred::Sign(a0, a1, b1) * ToS2Point(x_xf); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:693:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 693 | S2Point a_norm = ToS2Point(a_norm_xf); | ^ s2/s2edge_crossings.cc:695:61: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 695 | if (a_norm == S2Point(0, 0, 0)) a_norm = SymbolicCrossProd(a0, a1); | ~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2edge_crossings.cc:705:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 705 | return x; | ^ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::ToS2Point(const Vector3_xf&)': s2/s2edge_crossings.cc:657:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 657 | inline static S2Point ToS2Point(const Vector3_xf& xf) { | ^~~~~~~~~ s2/s2edge_crossings.cc:658:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 658 | return NormalizableFromExact(xf).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_crossings.cc: In function 'S2Point S2::GetIntersection(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:722:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 722 | S2Point GetIntersection(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStable(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:636:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 636 | T a_len2 = (a1 - a0).Norm2(); | ~~~~^~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableLD(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S2Point*)': s2/s2edge_crossings.cc:649:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 649 | if (GetIntersectionStable(ToLD(a0), ToLD(a1), ToLD(b0), ToLD(b1), | ~~~~^~~~ s2/s2edge_crossings.cc:651:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 651 | *result = S2Point::Cast(result_ld); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStable(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:636:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 636 | T a_len2 = (a1 - a0).Norm2(); | ~~~~^~~~~ ../src/s2/s2point.h: In static member function 'static S2Point S2Point::Cast(const Vector3&) [with T = long double]': ../src/s2/s2point.h:138:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | static S2Point Cast(const Vector3& b) { | ^~~~ ../src/s2/s2point.h:139:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 139 | return Base::Cast(b); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~^~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:370:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 370 | if (a == c) return (b == d) || s2pred::OrderedCCW(S2::RefDir(a), d, b, a); | ~~~~~~~~~~^~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::EnsureNormalizable(const Vector3_d&)': s2/s2edge_crossings.cc:788:1: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 788 | } // namespace S2 | ^ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:159:57: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 159 | if (kHasLongDouble && GetStableCrossProd(ToLD(a), ToLD(b), &result_ld)) { | ~~~~^~~ s2/s2edge_crossings.cc:160:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 160 | return Vector3_d::Cast(result_ld); | ~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'T S2::GetProjection(const Vector3&, const Vector3&, T, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2edge_crossings.cc:513:21: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 513 | Vector3 x1 = x - a1; | ~~^~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableLD(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S2Point*)': s2/s2edge_crossings.cc:651:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 651 | *result = S2Point::Cast(result_ld); | ~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::NormalizableFromExact(const Vector3_xf&)': s2/s2edge_crossings.cc:305:18: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 305 | static Vector3_d NormalizableFromExact(const Vector3_xf& xf) { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableSorted(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:552:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | Vector3 a_norm = (a0 - a1).CrossProd(a0 + a1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::GetIntersectionStableSorted(const Vector3&, const Vector3&, const Vector3&, const Vector3&, Vector3*) [with T = double]': s2/s2edge_crossings.cc:552:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 552 | Vector3 a_norm = (a0 - a1).CrossProd(a0 + a1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]': s2/s2edge_crossings.cc:123:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::internal::SymbolicCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:327:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 327 | Vector3_d SymbolicCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'bool S2::VertexCrossing(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:358:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 358 | bool VertexCrossing(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_crossings.cc: In function 'Vector3_d S2::internal::ExactCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:336:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 336 | Vector3_d ExactCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~ In function 'bool S2::internal::GetStableCrossProd(const Vector3&, const Vector3&, Vector3*) [with T = long double]', inlined from 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)' at s2/s2edge_crossings.cc:159:43: s2/s2edge_crossings.cc:123:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | *result = (a - b).CrossProd(a + b); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::RobustCrossProd(const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | S2Point RobustCrossProd(const S2Point& a, const S2Point& b) { | ^~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:136:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_crossings.cc:163:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | return internal::ExactCrossProd(a, b); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_crossings.cc:155:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 155 | return Ortho(a); | ~~~~~^~~ s2/s2edge_crossings.cc: In function 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:666:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 666 | S2Point GetIntersectionExact(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~~~~~~ s2/s2edge_crossings.cc:666:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'S2Point S2::ToS2Point(const Vector3_xf&)', inlined from 'S2Point S2::internal::GetIntersectionExact(const S2Point&, const S2Point&, const S2Point&, const S2Point&)' at s2/s2edge_crossings.cc:679:48: s2/s2edge_crossings.cc:658:31: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 658 | return NormalizableFromExact(xf).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~^~~~ s2/s2edge_crossings.cc: In function 'S2Point S2::GetIntersection(const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2edge_crossings.cc:722:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 722 | S2Point GetIntersection(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_distances.cc -o s2/s2edge_distances.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_distances.h:29, from s2/s2edge_distances.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_distances.h:31: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:46:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc:50:65: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:50:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:50:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 50 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:51:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 51 | return GetPointOnRay(a, dir, r); | ^ ../src/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Normalize() const [with VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:187:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 187 | D Normalize() const { | ^~~~~~~~~ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:257:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | inline S2Point GetPointOnRay(const S2Point& origin, const S2Point& dir, | ^~~~~~~~~~~~~ ../src/s2/s2edge_distances.h:272:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:54:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc:56:65: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:56:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:56:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:57:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | return GetPointOnRay(a, dir, r); | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1Angle)': ../src/s2/s2edge_distances.h:283:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointToLeft(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:60:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 60 | S2Point GetPointToLeft(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointToLeft(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:64:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 64 | S2Point GetPointToLeft(const S2Point& a, const S2Point& b, S1ChordAngle r) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = true]': s2/s2edge_distances.cc:138:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | double ab2 = (a - b).Norm2(); | ~~~^~~~ s2/s2edge_distances.cc:175:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 175 | S2Point cx = c.CrossProd(x); | ~~~~~~~~~~~^~~ s2/s2edge_distances.cc:176:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | if ((a - x).DotProd(cx) >= 0 || (b - x).DotProd(cx) <= 0) { | ~~~^~~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = false]': s2/s2edge_distances.cc:175:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 175 | S2Point cx = c.CrossProd(x); | ~~~~~~~~~~~^~~ s2/s2edge_distances.cc:176:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 176 | if ((a - x).DotProd(cx) >= 0 || (b - x).DotProd(cx) <= 0) { | ~~~^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::UpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle*)': s2/s2edge_distances.cc:252:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 252 | double xa2 = (x - a).Norm2(), xb2 = (x - b).Norm2(); | ~~~^~~~ s2/s2edge_distances.cc: In function 'S2Point S2::Project(const S2Point&, const S2Point&, const S2Point&, const Vector3_d&)': s2/s2edge_distances.cc:307:34: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 307 | S2Point n = a_cross_b.Normalize(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2edge_distances.cc:308:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2edge_distances.cc:308:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:313:12: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 313 | return p; | ^ s2/s2edge_distances.cc: In function 'bool S2::IsEdgeBNearEdgeA(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:474:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 474 | .Normalize(); | ~~~~~~~~~~^~ s2/s2edge_distances.cc:473:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc:473:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::AlwaysUpdateMinInteriorDistance(const S2Point&, const S2Point&, const S2Point&, double, double, S1ChordAngle*) [with bool always_update = true]': s2/s2edge_distances.cc:138:19: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 138 | double ab2 = (a - b).Norm2(); | ~~~^~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2edge_distances.cc: In function 'bool S2::UpdateMaxDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle*)': s2/s2edge_distances.cc:237:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 237 | AlwaysUpdateMinDistance(-x, a, b, &dist); | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:272:20: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1ChordAngle)': s2/s2edge_distances.cc:46:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::GetPointOnLine(const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:56:52: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | S2Point dir = S2::RobustCrossProd(a, b).CrossProd(a).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:54:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | S2Point GetPointOnLine(const S2Point& a, const S2Point& b, S1Angle r) { | ^~~~~~~~~~~~~~ s2/s2edge_distances.cc: In function 'S2Point S2::Project(const S2Point&, const S2Point&, const S2Point&, const Vector3_d&)': s2/s2edge_distances.cc:308:50: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 308 | S2Point p = S2::RobustCrossProd(n, x).CrossProd(n).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ s2/s2edge_distances.cc:283:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S2Point Project(const S2Point& x, const S2Point& a, const S2Point& b, | ^~~~~~~ s2/s2edge_distances.cc: In function 'bool S2::IsEdgeBNearEdgeA(const S2Point&, const S2Point&, const S2Point&, const S2Point&, S1Angle)': s2/s2edge_distances.cc:473:39: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 473 | S2Point furthest = b_ortho.CrossProd(S2::RobustCrossProd(a_ortho, b_ortho)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_distances.cc:401:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 401 | bool IsEdgeBNearEdgeA(const S2Point& a0, const S2Point& a1, | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2edge_tessellator.cc -o s2/s2edge_tessellator.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2edge_tessellator.h:24, from s2/s2edge_tessellator.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2projections.h:28, from ../src/s2/s2edge_tessellator.h:27: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2edge_distances.h:31, from s2/s2edge_tessellator.cc:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2edge_tessellator.h:23: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const': s2/s2edge_tessellator.cc:210:42: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 210 | S2Point mid1 = S2::Interpolate(a, b, t1); | ^ s2/s2edge_tessellator.cc:212:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:212:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ^ s2/s2edge_tessellator.cc:213:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:64: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const S2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:219:31: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | R2Point pa = proj_.Project(a); | ^ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:242:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | S2Point mid = (a + b).Normalize(); | ^ s2/s2edge_tessellator.cc:243:64: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 243 | R2Point pmid = proj_.WrapDestination(pa, proj_.Project(mid)); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const R2Point&, std::vector*) const': s2/s2edge_tessellator.cc:251:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 251 | S2Point a = proj_.Unproject(pa); | ^ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector*) const': s2/s2edge_tessellator.cc:273:47: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | R2Point pb = proj_.WrapDestination(pa, pb_in); | ^ s2/s2edge_tessellator.cc:278:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 278 | S2Point mid = proj_.Unproject(pmid); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from ../src/s2/s2edge_tessellator.h:25: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:242:24: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | S2Point mid = (a + b).Normalize(); | ^ s2/s2edge_tessellator.cc: In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const': s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 199 | S1ChordAngle S2EdgeTessellator::EstimateMaxError( | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:199:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 In member function 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const', inlined from 'S1ChordAngle S2EdgeTessellator::EstimateMaxError(const R2Point&, const S2Point&, const R2Point&, const S2Point&) const' at s2/s2edge_tessellator.cc:199:14: s2/s2edge_tessellator.cc:212:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:212:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 212 | S2Point pmid1 = proj_.Unproject(proj_.Interpolate(t1, pa, pb)); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:52: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ s2/s2edge_tessellator.cc:213:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point pmid2 = proj_.Unproject(proj_.Interpolate(t2, pa, pb)); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendProjected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector >*) const': s2/s2edge_tessellator.cc:235:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | void S2EdgeTessellator::AppendProjected(const R2Point& pa, const S2Point& a, | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc: In member function 'void S2EdgeTessellator::AppendUnprojected(const R2Point&, const S2Point&, const R2Point&, const S2Point&, std::vector*) const': s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | void S2EdgeTessellator::AppendUnprojected( | ^~~~~~~~~~~~~~~~~ s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:269:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2edge_tessellator.cc:273:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 273 | R2Point pb = proj_.WrapDestination(pa, pb_in); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2edge_tessellator.cc:278:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 278 | S2Point mid = proj_.Unproject(pmid); | ~~~~~~~~~~~~~~~^~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2error.cc -o s2/s2error.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2furthest_edge_query.cc -o s2/s2furthest_edge_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2furthest_edge_query.h:29, from s2/s2furthest_edge_query.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2furthest_edge_query.h:31: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2furthest_edge_query.h:33: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2furthest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2hausdorff_distance_query.cc -o s2/s2hausdorff_distance_query.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2hausdorff_distance_query.h:23, from s2/s2hausdorff_distance_query.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2min_distance_targets.h:32, from ../src/s2/s2hausdorff_distance_query.h:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2min_distance_targets.h:35: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2hausdorff_distance_query.cc: In function 'void {anonymous}::UpdateMaxDistance(const S2Point&, S2ClosestEdgeQuery&, S1ChordAngle&, S2Point&, S2Point&)': s2/s2hausdorff_distance_query.cc:56:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 56 | source_point = closest_edge_query.Project(point, closest_edge); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng_rect_bounder.cc -o s2/s2latlng_rect_bounder.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from ../src/s2/s2latlng_rect_bounder.h:21, from s2/s2latlng_rect_bounder.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:29, from ../src/s2/s2latlng_rect_bounder.h:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from s2/s2latlng_rect_bounder.cc:30: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ s2/s2latlng_rect_bounder.cc: In static member function 'static S2LatLng S2LatLngRectBounder::MaxErrorForTests()': s2/s2latlng_rect_bounder.cc:344:48: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | S2LatLng S2LatLngRectBounder::MaxErrorForTests() { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': s2/s2latlng_rect_bounder.cc:58:37: required from here 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~~~~~~~~~~~~~~~^~~~~~~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddLatLng(const S2LatLng&)': s2/s2latlng_rect_bounder.cc:42:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | AddInternal(b_latlng.ToPoint(), b_latlng); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddInternal(const S2Point&, const S2LatLng&)': s2/s2latlng_rect_bounder.cc:58:44: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:58:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~^~~~ s2/s2latlng_rect_bounder.cc:58:44: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:91:77: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 91 | b_latlng.lng().radians()); | ^ s2/s2latlng_rect_bounder.cc:105:77: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 105 | b_latlng.lat().radians()); | ^ s2/s2latlng_rect_bounder.cc:112:49: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | Vector3_d m = n.CrossProd(S2Point(0, 0, 1)); | ^ s2/s2latlng_rect_bounder.cc:163:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | double lat_budget_z = 0.5 * (a_ - b).Norm() * sin(max_lat); | ~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2latlng_rect_bounder.cc: In member function 'S2LatLngRect S2LatLngRectBounder::GetBound() const': s2/s2latlng_rect_bounder.cc:209:71: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 209 | const S2LatLng kExpansion = S2LatLng::FromRadians(2 * DBL_EPSILON, 0); | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ s2/s2latlng_rect_bounder.cc: In member function 'S2LatLngRect S2LatLngRectBounder::GetBound() const': s2/s2latlng_rect_bounder.cc:209:52: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 209 | const S2LatLng kExpansion = S2LatLng::FromRadians(2 * DBL_EPSILON, 0); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddInternal(const S2Point&, const S2LatLng&)': s2/s2latlng_rect_bounder.cc:58:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ^ s2/s2latlng_rect_bounder.cc:99:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | lng_ab = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect_bounder.cc:104:52: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 104 | R1Interval lat_ab = R1Interval::FromPointPair(a_latlng_.lat().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | b_latlng.lat().radians()); | ~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc:163:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 163 | double lat_budget_z = 0.5 * (a_ - b).Norm() * sin(max_lat); | ^ s2/s2latlng_rect_bounder.cc:58:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 58 | Vector3_d n = (a_ - b).CrossProd(a_ + b); // N = 2 * (A x B) | ~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2latlng_rect_bounder.cc:45:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | void S2LatLngRectBounder::AddInternal(const S2Point& b, | ^~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc: In member function 'void S2LatLngRectBounder::AddLatLng(const S2LatLng&)': s2/s2latlng_rect_bounder.cc:41:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | void S2LatLngRectBounder::AddLatLng(const S2LatLng& b_latlng) { | ^~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect_bounder.cc: In static member function 'static S2LatLng S2LatLngRectBounder::MaxErrorForTests()': s2/s2latlng_rect_bounder.cc:344:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | S2LatLng S2LatLngRectBounder::MaxErrorForTests() { | ^~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng_rect.cc -o s2/s2latlng_rect.o In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2latlng_rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng_rect.h:30: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s1chord_angle.h:31, from s2/s2latlng_rect.cc:30: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2cell.h:27, from s2/s2latlng_rect.cc:33: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from s2/s2latlng_rect.cc:35: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from s2/s2latlng_rect.cc:36: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:505:20: required from 'int Vector3::LargestAbsComponent() const [with T = double]' 505 | Vector3 temp = Abs(); | ^~~ ../src/s2/s2coords.h:389:35: required from here 389 | int face = p.LargestAbsComponent(); | ~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromCenterSize(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:49:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 49 | return FromPoint(center).Expanded(0.5 * size); | ~~~~^~~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator*(double, const S2LatLng&)': ../src/s2/s2latlng.h:269:21: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return S2LatLng(m * a.coords_); | ~~^~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:67:48: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return S2LatLngRect(R1Interval::FromPointPair(p1.lat().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 68 | p2.lat().radians()), | ~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:69:48: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S1Interval::FromPointPair(p1.lng().radians(), | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 70 | p2.lng().radians())); | ~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::FromPointPair(double, double)': ../src/s2/r1interval.h:62:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | static R1Interval FromPointPair(double p1, double p2) { | ^~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:216:56: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R1Interval lat = lat_.Expanded(margin.lat().radians()); | ^ s2/s2latlng_rect.cc:217:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 217 | S1Interval lng = lng_.Expanded(margin.lng().radians()); | ^ s2/s2latlng_rect.cc:219:39: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 219 | return S2LatLngRect(lat.Intersection(FullLat()), lng); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::PolarClosure() const': s2/s2latlng_rect.cc:224:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | return S2LatLngRect(lat_, S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Union(const S2LatLngRect&) const': s2/s2latlng_rect.cc:230:33: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 230 | return S2LatLngRect(lat_.Union(other.lat_), | ~~~~~~~~~~^~~~~~~~~~~~ s2/s2latlng_rect.cc:231:33: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 231 | lng_.Union(other.lng_)); | ~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/r1interval.h: In member function 'R1Interval R1Interval::Union(const R1Interval&) const': ../src/s2/r1interval.h:188:14: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 188 | R1Interval Union(const R1Interval& y) const { | ^~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Intersection(const S2LatLngRect&) const': s2/s2latlng_rect.cc:236:48: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 236 | S1Interval lng = lng_.Intersection(other.lng_); | ^ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle) const': s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:254:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:262:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 262 | lat().lo() <= FullLat().lo() && lng().is_full() ? | ~~~~~~~^~ s2/s2latlng_rect.cc:283:59: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S1Interval lng_result = lng().Expanded(-max_lng_margin); | ^ s2/s2latlng_rect.cc: In member function 'virtual S2Cap S2LatLngRect::GetCapBound() const': s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:317:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~^~ s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:319:33: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:319:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:390:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:390:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:391:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 391 | S2LatLng::FromRadians(lat.hi(), lng).ToPoint()) > 0; | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:391:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 391 | S2LatLng::FromRadians(lat.hi(), lng).ToPoint()) > 0; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:404:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 404 | if (z[2] < 0) z = -z; | ~~^~~~ s2/s2latlng_rect.cc:408:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 408 | Vector3_d y = S2::RobustCrossProd(z, S2Point(0, 0, 1)).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:409:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 409 | Vector3_d x = y.CrossProd(z); | ^ s2/s2latlng_rect.cc:432:40: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 432 | atan2(b.DotProd(y), b.DotProd(x))); | ^ s2/s2latlng_rect.cc:436:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 436 | S2Point isect = x * cos_theta + y * sin_theta; | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'bool S2LatLngRect::Intersects(const S2Cell&) const': s2/s2latlng_rect.cc:453:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 453 | if (Contains(cell.GetCenterRaw())) return true; | ~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:454:30: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~^~ s2/s2latlng_rect.cc:454:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:469:32: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:469:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:478:69: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 478 | cell_ll[i].lng().radians(), cell_ll[(i+1)&3].lng().radians()); | ^ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ^~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLngRect&) const': s2/s2latlng_rect.cc:525:74: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S1Interval lo_hi = S1Interval::FromPointPair(a.lng().lo(), b.lng().hi()); | ^ s2/s2latlng_rect.cc:540:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 540 | S2Point a_lo = S2LatLng(a.lat_lo(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLng&) const': s2/s2latlng_rect.cc:572:37: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 572 | S2Point lo = S2LatLng::FromRadians(a.lat().lo(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:572:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 572 | S2Point lo = S2LatLng::FromRadians(a.lat().lo(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:573:37: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 573 | S2Point hi = S2LatLng::FromRadians(a.lat().hi(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:573:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 573 | S2Point hi = S2LatLng::FromRadians(a.lat().hi(), a_lng).ToPoint(); | ^ s2/s2latlng_rect.cc: In static member function 'static S1Angle S2LatLngRect::GetDirectedHausdorffDistance(double, const R1Interval&, const R1Interval&)': s2/s2latlng_rect.cc:638:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 638 | S2Point b_lo = S2LatLng::FromRadians(b.lo(), b_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:638:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 638 | S2Point b_lo = S2LatLng::FromRadians(b.lo(), b_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:639:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 639 | S2Point b_hi = S2LatLng::FromRadians(b.hi(), b_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:639:63: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 639 | S2Point b_hi = S2LatLng::FromRadians(b.hi(), b_lng).ToPoint(); | ^ s2/s2latlng_rect.cc:646:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 646 | S2Point a_lo = S2LatLng::FromRadians(a.lo(), 0).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2latlng_rect.cc:646:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 646 | S2Point a_lo = S2LatLng::FromRadians(a.lo(), 0).ToPoint(); | ^ s2/s2latlng_rect.cc:647:39: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 647 | S2Point a_hi = S2LatLng::FromRadians(a.hi(), 0).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2latlng_rect.cc:647:59: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 647 | S2Point a_hi = S2LatLng::FromRadians(a.hi(), 0).ToPoint(); | ^ s2/s2latlng_rect.cc: In static member function 'static S2Point S2LatLngRect::GetBisectorIntersection(const R1Interval&, double)': s2/s2latlng_rect.cc:688:20: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 688 | ortho_bisector = S2LatLng::FromRadians(lat_center - M_PI_2, lng); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:694:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return S2::RobustCrossProd(ortho_lng, ortho_bisector.ToPoint()); | ^ s2/s2latlng_rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)': s2/s2latlng_rect.cc:735:29: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 735 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static S2Point S2LatLngRect::GetBisectorIntersection(const R1Interval&, double)': s2/s2latlng_rect.cc:688:43: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 688 | ortho_bisector = S2LatLng::FromRadians(lat_center - M_PI_2, lng); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::PolarClosure() const': s2/s2latlng_rect.cc:224:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 224 | return S2LatLngRect(lat_, S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:390:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 390 | a, b, S2LatLng::FromRadians(lat.lo(), lng).ToPoint(), | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:216:33: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R1Interval lat = lat_.Expanded(margin.lat().radians()); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)': s2/s2latlng_rect.cc:735:29: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 735 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:404:22: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 404 | if (z[2] < 0) z = -z; | ^ ../src/s2/s2latlng.h: In function 'S2LatLng operator*(double, const S2LatLng&)': ../src/s2/s2latlng.h:269:25: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromCenterSize(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:49:43: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 49 | return FromPoint(center).Expanded(0.5 * size); | ^~~~ s2/s2latlng_rect.cc: In static member function 'static S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng&, const S2LatLng&)': s2/s2latlng_rect.cc:59:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | S2LatLngRect S2LatLngRect::FromPointPair(const S2LatLng& p1, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetVertex(int) const': s2/s2latlng_rect.cc:77:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 77 | S2LatLng S2LatLngRect::GetVertex(int k) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'virtual S2Cap S2LatLngRect::GetCapBound() const': s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 291 | S2Cap S2LatLngRect::GetCapBound() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:291:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:317:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~^~ s2/s2latlng_rect.cc:317:38: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 317 | S2Cap mid_cap(GetCenter().ToPoint(), S1Angle::Zero()); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:319:33: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:319:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 319 | mid_cap.AddPoint(GetVertex(k).ToPoint()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'S2LatLng S2LatLngRect::GetSize() const': s2/s2latlng_rect.cc:88:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 88 | S2LatLng S2LatLngRect::GetSize() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2Point S2LatLngRect::GetCentroid() const': s2/s2latlng_rect.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2LatLngRect::GetCentroid() const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::Expanded(const S2LatLng&) const': s2/s2latlng_rect.cc:215:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 215 | S2LatLngRect S2LatLngRect::Expanded(const S2LatLng& margin) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle) const': s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 244 | S2LatLngRect S2LatLngRect::ExpandedByDistance(S1Angle distance) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:244:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:254:34: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:254:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 254 | r = r.Union(S2Cap(GetVertex(k).ToPoint(), radius).GetRectBound()); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:283:43: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 283 | S1Interval lng_result = lng().Expanded(-max_lng_margin); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLngEdge(const S2Point&, const S2Point&, const R1Interval&, double)': s2/s2latlng_rect.cc:383:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 383 | bool S2LatLngRect::IntersectsLngEdge(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc: In static member function 'static bool S2LatLngRect::IntersectsLatEdge(const S2Point&, const S2Point&, double, const S1Interval&)': s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 394 | bool S2LatLngRect::IntersectsLatEdge(const S2Point& a, const S2Point& b, | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:394:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:403:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 403 | Vector3_d z = S2::RobustCrossProd(a, b).Normalize(); | ~~~~~~~~~~~~~~~~~~~^~~~~~ s2/s2latlng_rect.cc:430:50: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 430 | S1Interval ab_theta = S1Interval::FromPointPair( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 431 | atan2(a.DotProd(y), a.DotProd(x)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 432 | atan2(b.DotProd(y), b.DotProd(x))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc: In member function 'S1Angle S2LatLngRect::GetDistance(const S2LatLngRect&) const': s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | S1Angle S2LatLngRect::GetDistance(const S2LatLngRect& other) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:495:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:525:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 525 | S1Interval lo_hi = S1Interval::FromPointPair(a.lng().lo(), b.lng().hi()); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2latlng_rect.cc:540:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 540 | S2Point a_lo = S2LatLng(a.lat_lo(), a_lng).ToPoint(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc: In member function 'bool S2LatLngRect::Intersects(const S2Cell&) const': s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 447 | bool S2LatLngRect::Intersects(const S2Cell& cell) const { | ^~~~~~~~~~~~ s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:447:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2latlng_rect.cc:454:30: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~^~ s2/s2latlng_rect.cc:454:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 454 | if (cell.Contains(GetCenter().ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:469:32: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~^~~ s2/s2latlng_rect.cc:469:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | if (cell.Contains(GetVertex(i).ToPoint())) return true; | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2latlng_rect.cc:477:52: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 477 | S1Interval edge_lng = S1Interval::FromPointPair( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 478 | cell_ll[i].lng().radians(), cell_ll[(i+1)&3].lng().radians()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2latlng.cc -o s2/s2latlng.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from s2/s2latlng.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~ In file included from ../src/s2/r2.h:22, from ../src/s2/s2latlng.h:31: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2latlng.cc: In member function 'S2LatLng S2LatLng::Normalized() const': s2/s2latlng.cc:55:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 55 | S2LatLng S2LatLng::Normalized() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'std::string S2LatLng::ToStringInDegrees() const': s2/s2latlng.cc:106:28: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 106 | S2LatLng pt = Normalized(); | ^ s2/s2latlng.cc: In member function 'S2Point S2LatLng::ToPoint() const': s2/s2latlng.cc:62:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 62 | S2Point S2LatLng::ToPoint() const { | ^~~~~~~~ s2/s2latlng.cc: In member function 'std::string S2LatLng::ToStringInDegrees() const': s2/s2latlng.cc:105:8: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 105 | string S2LatLng::ToStringInDegrees() const { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_loop_shape.cc -o s2/s2lax_loop_shape.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2loop.h:34, from ../src/s2/s2lax_loop_shape.h:41, from s2/s2lax_loop_shape.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2loop.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_polygon_shape.cc -o s2/s2lax_polygon_shape.o In file included from ../src/s2/encoded_s2point_vector.h:30, from ../src/s2/s2lax_polygon_shape.h:31, from s2/s2lax_polygon_shape.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from ../src/s2/s2lax_polygon_shape.h:36: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2lax_polygon_shape.cc: In member function 'bool S2LaxPolygonShape::Init(Decoder*)': s2/s2lax_polygon_shape.cc:213:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | vertices_[i] = vertices[i]; g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2lax_polyline_shape.cc -o s2/s2lax_polyline_shape.o In file included from ../src/s2/encoded_s2point_vector.h:30, from ../src/s2/s2lax_polyline_shape.h:28, from s2/s2lax_polyline_shape.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34, from ../src/s2/s2lax_polyline_shape.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2lax_polyline_shape.cc: In member function 'bool S2LaxPolylineShape::Init(Decoder*)': s2/s2lax_polyline_shape.cc:87:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | vertices_[i] = vertices[i]; g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2loop_measures.cc -o s2/s2loop_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2loop_measures.h:33, from s2/s2loop_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2loop_measures.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2edge_crossings.h:41: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2loop_measures.cc: In function 'S2Point S2::GetCentroid(S2PointLoopSpan)': s2/s2loop_measures.cc:265:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 265 | S2Point GetCentroid(S2PointLoopSpan loop) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/s2loop_measures.h: In instantiation of 'T S2::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&)) [with T = S2Point]': s2/s2loop_measures.cc:270:28: required from here 270 | return GetSurfaceIntegral(loop, S2::TrueCentroid); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2loop_measures.h:207:3: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 207 | T GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:321:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ^~~~~~ ../src/s2/s2loop_measures.h:340:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 340 | origin = loop[0].CrossProd(old_origin); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ^~~~~~~~~ ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2loop_measures.cc: In function 'S2Point S2::GetCentroid(S2PointLoopSpan)': s2/s2loop_measures.cc:265:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 265 | S2Point GetCentroid(S2PointLoopSpan loop) { | ^~~~~~~~~~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:340:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 340 | origin = loop[0].CrossProd(old_origin); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/s2/s2loop_measures.h:346:21: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 346 | sum += f_tri(loop[0], old_origin, origin); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]' at ../src/s2/s2loop_measures.h:313:26: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:321:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]' at ../src/s2/s2loop_measures.h:322:31: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = double; TAccumulator = KahanSum]': ../src/s2/s2loop_measures.h:257:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | void internal::GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]' at ../src/s2/s2loop_measures.h:313:26: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:321:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 321 | origin = S2::RobustCrossProd(loop[0], loop[i]).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]' at ../src/s2/s2loop_measures.h:322:31: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ ../src/s2/s2loop_measures.h: In function 'void S2::internal::GetSurfaceIntegral(S2PointLoopSpan, T (*)(const S2Point&, const S2Point&, const S2Point&), TAccumulator&) [with T = S2Point; TAccumulator = S2Point]': ../src/s2/s2loop_measures.h:257:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 257 | void internal::GetSurfaceIntegral(S2PointLoopSpan loop, | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2loop.cc -o s2/s2loop.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2loop.h:34, from s2/s2loop.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2loop.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2loop_measures.h:34, from ../src/s2/s2loop.h:40: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2loop.h: In static member function 'static S2Point S2Loop::kEmptyVertex()': ../src/s2/s2loop.h:690:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 690 | inline S2Point S2Loop::kEmptyVertex() { return S2Point(0, 0, 1); } | ^ In file included from s2/s2loop.cc:46: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2closest_edge_query.h:35, from s2/s2loop.cc:49: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::FindValidationErrorNoIndex(S2Error*) const': s2/s2loop.cc:234:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 234 | if (vertex(i) == -vertex(i + 1)) { | ^~~~~~~~~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2edge_crossings.h: In function 'bool S2::AngleContainsVertex(const S2Point&, const S2Point&, const S2Point&)': ../src/s2/s2edge_crossings.h:235:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | return !s2pred::OrderedCCW(S2::RefDir(b), c, a, b); | ~~~~~~~~~~^~~ s2/s2loop.cc: In member function 'void S2Loop::InitBound()': s2/s2loop.cc:312:72: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | b = S2LatLngRect(R1Interval(b.lat().lo(), M_PI_2), S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/s2loop.h: In member function 'virtual S2Shape::ReferencePoint S2Loop::Shape::GetReferencePoint() const': ../src/s2/s2loop.h:496:67: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 496 | return ReferencePoint(S2::Origin(), loop_->contains_origin()); | ^ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2loop.cc: In member function 'void S2Loop::Invert()': s2/s2loop.cc:407:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | vertices_[0] = is_full() ? kEmptyVertex() : kFullVertex(); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:541:56: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 541 | R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^ s2/s2loop.cc: In member function 'bool S2Loop::BruteForceContains(const S2Point&) const': s2/s2loop.cc:599:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 599 | S2Point origin = S2::Origin(); | ^ ../src/s2/s2latlng_rect.h: In member function 'bool S2LatLngRect::is_full() const': ../src/s2/s2latlng_rect.h:423:25: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 423 | return lat_ == FullLat() && lng_.is_full(); | ~~~~~~~^~ s2/s2loop.cc: In static member function 'static std::unique_ptr S2Loop::MakeRegularLoop(const Matrix3x3_d&, S1Angle, int)': s2/s2loop.cc:1496:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1496 | vertices.push_back(S2::FromFrame(frame, p).Normalize()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2edge_crossings.h: In function 'bool S2::AngleContainsVertex(const S2Point&, const S2Point&, const S2Point&)': ../src/s2/s2edge_crossings.h:235:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 235 | return !s2pred::OrderedCCW(S2::RefDir(b), c, a, b); | ~~~~~~~~~~^~~ ../src/s2/s2latlng_rect.h: In member function 'bool S2LatLngRect::is_full() const': ../src/s2/s2latlng_rect.h:423:25: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 423 | return lat_ == FullLat() && lng_.is_full(); | ~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2loop.cc: In member function 'bool S2Loop::FindValidationErrorNoIndex(S2Error*) const': s2/s2loop.cc:234:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 234 | if (vertex(i) == -vertex(i + 1)) { | ^ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:541:46: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 541 | R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BruteForceContains(const S2Point&) const': s2/s2loop.cc:599:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 599 | S2Point origin = S2::Origin(); | ~~~~~~~~~~^~ s2/s2loop.cc: In member function 'void S2Loop::InitBound()': s2/s2loop.cc:312:72: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | b = S2LatLngRect(R1Interval(b.lat().lo(), M_PI_2), S1Interval::Full()); | ~~~~~~~~~~~~~~~~^~ s2/s2loop.cc: In member function 'S2Point S2Loop::GetCentroid() const': s2/s2loop.cc:430:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 430 | S2Point S2Loop::GetCentroid() const { | ^~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator&, const S2Cell&) const': s2/s2loop.cc:526:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 526 | bool S2Loop::BoundaryApproxIntersects(const MutableS2ShapeIndex::Iterator& it, | ^~~~~~ s2/s2loop.cc: In member function 'bool S2Loop::Contains(const MutableS2ShapeIndex::Iterator&, const S2Point&) const': s2/s2loop.cc:616:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 616 | S2Point center = it.center(); | ~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2max_distance_targets.cc -o s2/s2max_distance_targets.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2max_distance_targets.h:30: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2max_distance_targets.h:31: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2max_distance_targets.h:32: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistancePointTarget::GetCapBound()': s2/s2max_distance_targets.cc:42:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | return S2Cap(-point_, S1ChordAngle::Zero()); | ^~~~~~~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/s2/s2max_distance_targets.h:28: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual bool S2MaxDistancePointTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2max_distance_targets.cc:71:7: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 71 | -point_, [this, &visitor](S2Shape* shape) { | ^~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistanceEdgeTarget::GetCapBound()': s2/s2max_distance_targets.cc:86:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | return S2Cap(-(a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ^~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual bool S2MaxDistanceEdgeTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2max_distance_targets.cc:123:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 123 | S2MaxDistancePointTarget target((a_ + b_).Normalize()); | ~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2max_distance_targets.cc:32: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::Contains(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:312:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 312 | Contains(clipped, target.GetCenter())) { | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2max_distance_targets.cc: In member function 'virtual S2Cap S2MaxDistancePointTarget::GetCapBound()': s2/s2max_distance_targets.cc:42:17: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 42 | return S2Cap(-point_, S1ChordAngle::Zero()); | ^~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ In constructor 'S2MaxDistanceEdgeTarget::S2MaxDistanceEdgeTarget(const S2Point&, const S2Point&)', inlined from 'S2FurthestEdgeQuery::EdgeTarget::EdgeTarget(const S2Point&, const S2Point&)' at ../src/s2/s2furthest_edge_query.h:412:35, inlined from 'virtual bool S2MaxDistanceShapeIndexTarget::UpdateMinDistance(const S2Point&, const S2Point&, S2MaxDistance*)' at s2/s2max_distance_targets.cc:213:48: ../src/s2/s2max_distance_targets.h:236:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 236 | b_.Normalize(); | ~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2measures.cc -o s2/s2measures.o In file included from ../src/s2/s2measures.h:24, from s2/s2measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2measures.cc:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2edge_crossings.h:41: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2measures.cc: In function 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:41:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 41 | return RobustCrossProd(a, b).Angle(RobustCrossProd(c, b)); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:52:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 52 | double angle = RobustCrossProd(a, b).Angle(RobustCrossProd(b, c)); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:154:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 154 | Vector3_d ab = RobustCrossProd(a, b); | ~~~~~~~~~~~~~~~^~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::StableAngle(S2Point, S2Point)': s2/s2measures.cc:83:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 83 | return 2 * atan2((a - b).Norm(), (a + b).Norm()); | ^ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:41:37: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::Angle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:38:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | double Angle(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:52:45: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::TurnAngle(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:44:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 44 | double TurnAngle(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)' at s2/s2measures.cc:157:27: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2measures.cc: In function 'double S2::GirardArea(const S2Point&, const S2Point&, const S2Point&)': s2/s2measures.cc:148:8: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 148 | double GirardArea(const S2Point& a, const S2Point& b, const S2Point& c) { | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2memory_tracker.cc -o s2/s2memory_tracker.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2metrics.cc -o s2/s2metrics.o In file included from ../src/s2/s2coords.h:108, from ../src/s2/s2metrics.h:34, from s2/s2metrics.cc:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2coords.h:106: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2min_distance_targets.cc -o s2/s2min_distance_targets.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2min_distance_targets.h:32: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2min_distance_targets.h:35: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2min_distance_targets.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2min_distance_targets.h:30: ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ In file included from s2/s2min_distance_targets.cc:33: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2min_distance_targets.cc: In member function 'virtual S2Cap S2MinDistanceEdgeTarget::GetCapBound()': s2/s2min_distance_targets.cc:75:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | return S2Cap((a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2min_distance_targets.cc: In member function 'virtual bool S2MinDistanceEdgeTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2min_distance_targets.cc:99:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2MinDistancePointTarget target((a_ + b_).Normalize()); | ~~~~~~~~~~~~~~~~~~~^~ In file included from s2/s2min_distance_targets.cc:39: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ s2/s2min_distance_targets.cc: In member function 'virtual bool S2MinDistanceCellUnionTarget::VisitContainingShapes(const S2ShapeIndex&, const S2DistanceTarget::ShapeVisitor&)': s2/s2min_distance_targets.cc:201:52: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 201 | S2MinDistancePointTarget target(cell_id.ToPoint()); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2min_distance_targets.cc: In member function 'virtual S2Cap S2MinDistanceEdgeTarget::GetCapBound()': s2/s2min_distance_targets.cc:75:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | return S2Cap((a_ + b_).Normalize(), S1ChordAngle::FromLength2(r2)); | ^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2padded_cell.cc -o s2/s2padded_cell.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2padded_cell.cc: In constructor 'S2PaddedCell::S2PaddedCell(S2CellId, double)': s2/s2padded_cell.cc:53:12: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 53 | bound_ = S2CellId::IJLevelToBoundUV(ij, level_).Expanded(padding); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetCenter() const': s2/s2padded_cell.cc:92:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | S2Point S2PaddedCell::GetCenter() const { | ^~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetEntryVertex() const': s2/s2padded_cell.cc:99:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 99 | S2Point S2PaddedCell::GetEntryVertex() const { | ^~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2CellId S2PaddedCell::ShrinkToFit(const R2Rect&) const': s2/s2padded_cell.cc:149:62: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 149 | R2Rect padded = rect.Expanded(padding() + 1.5 * DBL_EPSILON); | ^ s2/s2padded_cell.cc: In member function 'S2Point S2PaddedCell::GetCenter() const': s2/s2padded_cell.cc:92:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | S2Point S2PaddedCell::GetCenter() const { | ^~~~~~~~~~~~ s2/s2padded_cell.cc: In member function 'S2CellId S2PaddedCell::ShrinkToFit(const R2Rect&) const': s2/s2padded_cell.cc:126:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | S2CellId S2PaddedCell::ShrinkToFit(const R2Rect& rect) const { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2point_compression.cc -o s2/s2point_compression.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2point_compression.h:52, from s2/s2point_compression.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from s2/s2point_compression.cc:29: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2point_compression.cc: In function 'bool S2DecodePointsCompressed(Decoder*, int, absl::debian7::Span)': s2/s2point_compression.cc:374:15: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 374 | points[i] = ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In function 'S2Point {anonymous}::FacePiQitoXYZ(int, int, int, int)', inlined from 'bool S2DecodePointsCompressed(Decoder*, int, absl::debian7::Span)' at s2/s2point_compression.cc:375:22: s2/s2point_compression.cc:204:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 204 | return S2::FaceUVtoXYZ(face, | ~~~~~~~~~~~~~~~^~~~~~ 205 | S2::STtoUV(PiQitoST(pi, level)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | S2::STtoUV(PiQitoST(qi, level))).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2point_region.cc -o s2/s2point_region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2point_region.h:25, from s2/s2point_region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from s2/s2point_region.cc:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2point_region.cc:23: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2point_region.cc:24: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2pointutil.cc -o s2/s2pointutil.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2pointutil.cc: In function 'S2Point S2::Ortho(const S2Point&)': s2/s2pointutil.cc:47:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 47 | S2Point Ortho(const S2Point& a) { | ^~~~~ s2/s2pointutil.cc:57:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | return a.CrossProd(temp).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ s2/s2pointutil.cc: In function 'S2Point S2::Rotate(const S2Point&, const S2Point&, S1Angle)': s2/s2pointutil.cc:61:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 61 | S2Point Rotate(const S2Point& p, const S2Point& axis, S1Angle angle) { | ^~~~~~ s2/s2pointutil.cc:69:36: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point center = p.DotProd(axis) * axis; | ~~~~~~~~~~~~~~~~^~~~~~ s2/s2pointutil.cc:70:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2Point dx = p - center; | ^~~~~~ s2/s2pointutil.cc:71:30: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 71 | S2Point dy = axis.CrossProd(p); | ~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc:74:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | return (cos(angle) * dx + sin(angle) * dy + center).Normalize(); | ^ s2/s2pointutil.cc:74:64: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 74 | return (cos(angle) * dx + sin(angle) * dy + center).Normalize(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'void S2::GetFrame(const S2Point&, Matrix3x3_d*)': s2/s2pointutil.cc:86:21: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | m->SetCol(1, Ortho(z)); | ~~~~~^~~ s2/s2pointutil.cc:87:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | m->SetCol(0, m->Col(1).CrossProd(z)); // Already unit-length. | ~~~~~~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::ToFrame(const Matrix3x3_d&, const S2Point&)': s2/s2pointutil.cc:90:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 90 | S2Point ToFrame(const Matrix3x3_d& m, const S2Point& p) { | ^~~~~~~ s2/s2pointutil.cc:92:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | return m.Transpose() * p; | ~~~~~~~~~~~~~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::FromFrame(const Matrix3x3_d&, const S2Point&)': s2/s2pointutil.cc:95:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 95 | S2Point FromFrame(const Matrix3x3_d& m, const S2Point& q) { | ^~~~~~~~~ s2/s2pointutil.cc:96:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 96 | return m * q; | ~~^~~ s2/s2pointutil.cc: In function 'S2Point S2::Rotate(const S2Point&, const S2Point&, S1Angle)': s2/s2pointutil.cc:70:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2Point dx = p - center; | ^~~~~~ s2/s2pointutil.cc:69:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 69 | S2Point center = p.DotProd(axis) * axis; | ^~~~ s2/s2pointutil.cc: In function 'S2Point S2::Ortho(const S2Point&)': s2/s2pointutil.cc:47:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 47 | S2Point Ortho(const S2Point& a) { | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polygon.cc -o s2/s2polygon.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from s2/s2polygon.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2polygon.cc:55: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from s2/s2polygon.cc:58: ../src/s2/s2closest_edge_query.h: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': ../src/s2/s2closest_edge_query.h:429:66: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 429 | const Result& result) const { | ^~~~~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:593:43: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 593 | const S2Polygon& a, const S2Polygon& b) { | ^ s2/s2polygon.cc: In member function 'S2Point S2Polygon::Project(const S2Point&) const': s2/s2polygon.cc:604:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 604 | S2Point S2Polygon::Project(const S2Point& x) const { | ^~~~~ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ In file included from /usr/include/c++/15/bits/stl_algobase.h:64, from /usr/include/c++/15/algorithm:62, from ../src/s2/s2polygon.h:21: /usr/include/c++/15/bits/stl_pair.h: In instantiation of 'constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = double; _T2 = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp>::type = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp2>::type = double]': s2/s2polygon.cc:599:24: required from here 599 | return std::make_pair( | ~~~~~~~~~~~~~~^ 600 | intersection_area >= a_area ? 1 : intersection_area / a_area, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 601 | intersection_area >= b_area ? 1 : intersection_area / b_area); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:1164:5: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 1164 | make_pair(_T1&& __x, _T2&& __y) | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ s2/s2polygon.cc: In member function 'S2Point S2Polygon::GetCentroid() const': s2/s2polygon.cc:553:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polygon.cc:553:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~~~~~^~ s2/s2polygon.cc:553:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polygon.cc:555:10: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 555 | return centroid; | ^~~~~~~~ ../src/s2/util/math/vector.h: In function 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = int; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:592:33: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 592 | /*static*/ pair S2Polygon::GetOverlapFractions( | ^~~~~~~~~ s2/s2polygon.cc: In member function 'S2Point S2Polygon::Project(const S2Point&) const': s2/s2polygon.cc:604:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 604 | S2Point S2Polygon::Project(const S2Point& x) const { | ^~~~~~~~~ s2/s2polygon.cc: In member function 'bool S2Polygon::Contains(const S2Polygon&) const': s2/s2polygon.cc:633:50: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 633 | if (b.num_loops() == 1 || !bound_.lng().Union(b.bound_.lng()).is_full()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ In file included from s2/s2polygon.cc:60: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ In file included from s2/s2polygon.cc:77: ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ s2/s2polygon.cc: In function 'uint8 GetCellEdgeIncidenceMask(const S2Cell&, const S2Point&, double)': s2/s2polygon.cc:1064:36: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1064 | R2Rect bound = cell.GetBoundUV(); | ^ s2/s2polygon.cc: In member function 'virtual S2Shape::ReferencePoint S2Polygon::Shape::GetReferencePoint() const': s2/s2polygon.cc:1553:54: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1553 | return ReferencePoint(S2::Origin(), contains_origin); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2polygon.cc: In member function 'S2Point S2ClosestEdgeQuery::Project(const S2Point&, const Result&) const': s2/s2polygon.cc:1582:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 1582 | } | ^ s2/s2polygon.cc: In function 'uint8 GetCellEdgeIncidenceMask(const S2Cell&, const S2Point&, double)': s2/s2polygon.cc:1064:35: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 1064 | R2Rect bound = cell.GetBoundUV(); | ~~~~~~~~~~~~~~~^~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ s2/s2polygon.cc: In member function 'S2Point S2Polygon::GetCentroid() const': s2/s2polygon.cc:553:56: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 553 | centroid += loop(i)->sign() * loop(i)->GetCentroid(); | ^ s2/s2polygon.cc:550:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 550 | S2Point S2Polygon::GetCentroid() const { | ^~~~~~~~~ s2/s2polygon.cc: In member function 'bool S2Polygon::Contains(const S2Polygon&) const': s2/s2polygon.cc:618:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 618 | bool S2Polygon::Contains(const S2Polygon& b) const { | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2shape_index_region.h:418:6: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 418 | bool S2ShapeIndexRegion::AnyEdgeIntersects( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = MutableS2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ s2/s2polygon.cc: In static member function 'static std::pair S2Polygon::GetOverlapFractions(const S2Polygon&, const S2Polygon&)': s2/s2polygon.cc:592:33: note: parameter passing for argument of type 'std::pair' when C++17 is enabled changed to match C++14 in GCC 10.1 592 | /*static*/ pair S2Polygon::GetOverlapFractions( | ^~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_alignment.cc -o s2/s2polyline_alignment.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline.h:33, from ../src/s2/s2polyline_alignment.h:24, from s2/s2polyline_alignment.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2polyline_alignment.cc: In function 's2polyline_alignment::VertexAlignment s2polyline_alignment::DynamicTimewarp(const S2Polyline&, const S2Polyline&, const Window&)': s2/s2polyline_alignment.cc:201:40: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 201 | (a.vertex(row) - b.vertex(col)).Norm(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2polyline_alignment.cc: In function 'double s2polyline_alignment::GetExactVertexAlignmentCost(const S2Polyline&, const S2Polyline&)': s2/s2polyline_alignment.cc:281:34: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 281 | (a.vertex(row) - b.vertex(col)).Norm(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2polyline_alignment.cc: In function 'double s2polyline_alignment::GetExactVertexAlignmentCost(const S2Polyline&, const S2Polyline&)': s2/s2polyline_alignment.cc:281:48: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 281 | (a.vertex(row) - b.vertex(col)).Norm(); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_measures.cc -o s2/s2polyline_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline_measures.h:29, from s2/s2polyline_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2polyline_measures.cc: In function 'S2Point S2::GetCentroid(S2PointSpan)': s2/s2polyline_measures.cc:36:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 36 | S2Point GetCentroid(S2PointSpan polyline) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline_simplifier.cc -o s2/s2polyline_simplifier.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2polyline_simplifier.h:63, from s2/s2polyline_simplifier.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2polyline_simplifier.h:64: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2polyline_simplifier.cc: In member function 'void S2PolylineSimplifier::Init(const S2Point&)': s2/s2polyline_simplifier.cc:31:11: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | window_ = S1Interval::Full(); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ s2/s2polyline_simplifier.cc:40:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | S2Point tmp = src.Abs(); | ~~~~~~~^~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Full()': ../src/s2/s1interval.h:242:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 242 | inline S1Interval S1Interval::Full() { | ^~~~~~~~~~ ../src/s2/util/math/vector.h: In member function 'Vector3 Vector3::Abs() const [with T = double]': ../src/s2/util/math/vector.h:495:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 495 | Vector3 Abs() const { | ^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:31: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2polyline_simplifier.cc: In member function 'bool S2PolylineSimplifier::TargetDisc(const S2Point&, S1ChordAngle)': s2/s2polyline_simplifier.cc:87:13: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | window_ = S1Interval::Empty(); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/s1chord_angle.h: In constructor 'S1ChordAngle::S1ChordAngle(const S2Point&, const S2Point&)': ../src/s2/s1chord_angle.h:315:33: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 315 | length2_ = std::min(4.0, (x - y).Norm2()); | ^ s2/s2polyline_simplifier.cc: In member function 'void S2PolylineSimplifier::Init(const S2Point&)': s2/s2polyline_simplifier.cc:40:24: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 40 | S2Point tmp = src.Abs(); | ~~~~~~~^~ s2/s2polyline_simplifier.cc:31:29: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | window_ = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2polyline.cc -o s2/s2polyline.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2polyline.h:33, from s2/s2polyline.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2polyline.h:34: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from s2/s2polyline.cc:45: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ s2/s2polyline.cc: In member function 'S2Point S2Polyline::GetCentroid() const': s2/s2polyline.cc:213:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point S2Polyline::GetCentroid() const { | ^~~~~ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2polyline.cc: In member function 'void S2Polyline::Init(absl::debian7::Span)': s2/s2polyline.cc:132:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 132 | vertices_[i] = vertices[i].ToPoint(); ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2polyline.cc: In member function 'S2Point S2Polyline::GetCentroid() const': s2/s2polyline.cc:213:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 213 | S2Point S2Polyline::GetCentroid() const { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ s2/s2polyline.cc: In member function 'virtual bool S2Polyline::MayIntersect(const S2Cell&) const': s2/s2polyline.cc:398:22: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 398 | cell_vertices[i] = cell.GetVertex(i); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertexRaw(int) const': ../src/s2/s2cell.h:114:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ~~~~~~~~~~~~~^~~ ../src/s2/s2cell.h:114:51: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 114 | return S2::FaceUVtoXYZ(face_, uv_.GetVertex(k)); | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~~ ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, const R2Point&)': ../src/s2/s2coords.h:367:16: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 367 | inline S2Point FaceUVtoXYZ(int face, const R2Point& uv) { | ^~~~~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2polyline.cc: In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)': s2/s2polyline.cc:582:47: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | S1Interval current_wedge = S1Interval::Full(); | ^ s2/s2polyline.cc:609:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 609 | S2Point direction = S2::ToFrame(frame, candidate); | ^ s2/s2polyline.cc:623:74: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 623 | S1Interval target = S1Interval::FromPoint(center).Expanded(half_angle); | ^ ../src/s2/util/math/vector.h: In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]': ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2polyline.cc: In member function 'bool S2Polyline::NearlyCovers(const S2Polyline&, S1Angle) const': s2/s2polyline.cc:763:65: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 763 | covered.vertex(0), this->vertex(i), this->vertex(next_i)); | ^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2polyline.cc: In member function 'bool S2Polyline::FindValidationError(S2Error*) const': s2/s2polyline.cc:184:35: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | if (vertex(i - 1) == -vertex(i)) { | ^ s2/s2polyline.cc: In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)': s2/s2polyline.cc:582:46: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 582 | S1Interval current_wedge = S1Interval::Full(); | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetVertex(int) const': ../src/s2/s2cell.h:112:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 112 | S2Point GetVertex(int k) const { return GetVertexRaw(k).Normalize(); } | ~~~~~~~~~~~~^~~ In member function 'Vector3::FloatType Vector3::Angle(const Vector3&) const [with T = double]', inlined from 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)' at s2/s2polyline.cc:587:35, inlined from 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const' at s2/s2polyline.cc:641:35: ../src/s2/util/math/vector.h:490:27: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 490 | return atan2(CrossProd(v).Norm(), this->DotProd(v)); | ~~~~~~~~~^~~ s2/s2polyline.cc: In member function 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const': s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 633 | void S2Polyline::SubsampleVertices(S1Angle tolerance, | ^~~~~~~~~~ s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2polyline.cc:633:6: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 In function 'int {anonymous}::FindEndVertex(const S2Polyline&, S1Angle, int)', inlined from 'void S2Polyline::SubsampleVertices(S1Angle, std::vector*) const' at s2/s2polyline.cc:641:35: s2/s2polyline.cc:609:36: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 609 | S2Point direction = S2::ToFrame(frame, candidate); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ s2/s2polyline.cc:623:46: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 623 | S1Interval target = S1Interval::FromPoint(center).Expanded(half_angle); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ s2/s2polyline.cc: In member function 'bool S2Polyline::NearlyCovers(const S2Polyline&, S1Angle) const': s2/s2polyline.cc:706:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 706 | bool S2Polyline::NearlyCovers(const S2Polyline& covered, | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2predicates.cc -o s2/s2predicates.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2predicates.h:57, from s2/s2predicates.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from s2/s2predicates.cc:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:1128:33: required from 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = double]' 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1338:40: required from here 1338 | int sign = TriageEdgeCircumcenterSign(x0, x1, a, b, c, abc_sign); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1090:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1090 | Vector3 GetCircumcenter(const Vector3& a, const Vector3& b, | ^~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1128:33: required from 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = long double]' 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1345:38: required from here 1345 | sign = TriageEdgeCircumcenterSign( | ~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1346 | ToLD(x0), ToLD(x1), ToLD(a), ToLD(b), ToLD(c), abc_sign); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1090:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1090 | Vector3 GetCircumcenter(const Vector3& a, const Vector3& b, | ^~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:1458:37: required from 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]' 1458 | T ax2, aDn = (a - GetClosestVertex(a, x0, x1, &ax2)).DotProd(n); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1697:47: required from here 1697 | Excluded result = TriageVoronoiSiteExclusion(a, b, x0, x1, r.length2()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:564:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 564 | inline Vector3 GetClosestVertex(const Vector3& x, const Vector3& a0, | ^~~~~~~~~~~~~~~~ s2/s2predicates.cc: In instantiation of 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1458:37: required from 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]' 1458 | T ax2, aDn = (a - GetClosestVertex(a, x0, x1, &ax2)).DotProd(n); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ s2/s2predicates.cc:1700:40: required from here 1700 | result = TriageVoronoiSiteExclusion(ToLD(a), ToLD(b), ToLD(x0), ToLD(x1), | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1701 | ToLD(r.length2())); | ~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:564:19: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 564 | inline Vector3 GetClosestVertex(const Vector3& x, const Vector3& a0, | ^~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const long double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc:796:3: required from 'int s2pred::TriageIntersectionOrdering(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]' 796 | S2_DCHECK_NE(a, -b); s2/s2predicates.cc:906:37: required from here 906 | ans = TriageIntersectionOrdering(ToLD(a), ToLD(b), ToLD(c), ToLD(d), | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 907 | ToLD(m), ToLD(n)); | ~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::Sign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:46:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return Sign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::StableSign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:63:20: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | Vector3_d ab = b - a; | ~~^~~ s2/s2predicates.cc:84:25: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 84 | det = -(ca.CrossProd(bc).DotProd(c)); | ~~~~~~~~~~~~^~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ^~~~~~~~ ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::CompareDistances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:469:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | sign = TriageCompareCosDistances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::ExactCompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:743:13: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 743 | if (a0 != -x && a1 != -x && | ^~ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::CompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:767:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 767 | sign = TriageCompareEdgeDistance(ToLD(x), ToLD(a0), ToLD(a1), | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::UnperturbedSign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:1253:45: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1253 | int sign = TriageSign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::EdgeCircumcenterSign(const S2Point&, const S2Point&, const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:1346:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1346 | ToLD(x0), ToLD(x1), ToLD(a), ToLD(b), ToLD(c), abc_sign); | ~~~~^~~~ s2/s2predicates.cc: In function 'double s2pred::GetSin2Distance(const S2Point&, const S2Point&, double*)': s2/s2predicates.cc:343:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc:343:18: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~^~~~ s2/s2predicates.cc:343:32: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ~~~~~~~~~~~~~~~~~^~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^~~~~~~~ ../src/s2/s2point.h:128:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'long double s2pred::GetSin2Distance(const Vector3_ld&, const Vector3_ld&, long double*)': s2/s2predicates.cc:361:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 361 | Vector3_ld n = (x - y).CrossProd(x + y); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDistance(const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:684:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 684 | Vector3 n = (a0 - a1).CrossProd(a0 + a1); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDistance(const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:684:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1043:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1043 | Vector3 na = (a0 - a1).CrossProd(a0 + a1); | ^~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]': s2/s2predicates.cc:1043:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = double]': s2/s2predicates.cc:1128:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1128 | Vector3 z = GetCircumcenter(a, b, c, &z_error); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageEdgeCircumcenterSign(const Vector3&, const Vector3&, const Vector3&, const Vector3&, const Vector3&, int) [with T = long double]': s2/s2predicates.cc:1128:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:1447:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1447 | Vector3 n = (x0 - x1).CrossProd(x0 + x1); // 2 * x0.CrossProd(x1) | ^ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:1447:14: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'double s2pred::GetSin2Distance(const S2Point&, const S2Point&, double*)': s2/s2predicates.cc:343:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 343 | S2Point n = (x - y).CrossProd(x + y); | ^ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1044:42: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~^~~~ s2/s2predicates.cc: In function 'long double s2pred::GetSin2Distance(const Vector3_ld&, const Vector3_ld&, long double*)': s2/s2predicates.cc:361:40: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 361 | Vector3_ld n = (x - y).CrossProd(x + y); | ^ ../src/s2/s2point.h: In function 'S2Point operator-(const S2Point&)': ../src/s2/s2point.h:134:41: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 134 | return -static_cast(pnt); | ^ s2/s2predicates.cc: In function 'int s2pred::CompareSin2Distances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:438:61: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 438 | sign = TriageCompareSin2Distances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'int s2pred::ExactCompareEdgeDistance(const S2Point&, const S2Point&, const S2Point&, S1ChordAngle)': s2/s2predicates.cc:743:14: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 743 | if (a0 != -x && a1 != -x && | ^ s2/s2predicates.cc: In function 'int s2pred::CompareDistances(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:469:60: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 469 | sign = TriageCompareCosDistances(ToLD(x), ToLD(a), ToLD(b)); | ~~~~^~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = double]': s2/s2predicates.cc:567:16: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 567 | T a1x2 = (a1 - x).Norm2(); | ~~~~^~~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetClosestVertex(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:567:16: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 567 | T a1x2 = (a1 - x).Norm2(); | ~~~~^~~~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = double]': s2/s2predicates.cc:1044:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2predicates.cc: In function 'int s2pred::TriageCompareEdgeDirections(const Vector3&, const Vector3&, const Vector3&, const Vector3&) [with T = long double]': s2/s2predicates.cc:1044:38: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1044 | Vector3 nb = (b0 - b1).CrossProd(b0 + b1); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = double]': s2/s2predicates.cc:1492:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1492 | Vector3 aXb = (a - b).CrossProd(a + b); // 2 * a.CrossProd(b) | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc: In function 's2pred::Excluded s2pred::TriageVoronoiSiteExclusion(const Vector3&, const Vector3&, const Vector3&, const Vector3&, T) [with T = long double]': s2/s2predicates.cc:1492:37: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1492 | Vector3 aXb = (a - b).CrossProd(a + b); // 2 * a.CrossProd(b) | ~~~~~~~~~~~~~~~~~^~~~~~~ s2/s2predicates.cc: In function 'int s2pred::Sign(const S2Point&, const S2Point&, const S2Point&)': s2/s2predicates.cc:46:35: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return Sign(a, b, c, a.CrossProd(b)); | ~~~~~~~~~~~^~~ s2/s2predicates.cc: In function 'Vector3 s2pred::GetCircumcenter(const Vector3&, const Vector3&, const Vector3&, T*) [with T = long double]': s2/s2predicates.cc:1111:33: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 1111 | Vector3 mbc = nbc.CrossProd(bc_sum); | ~~~~~~~~~~~~~^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2projections.cc -o s2/s2projections.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2latlng.h:32, from ../src/s2/s2projections.h:28, from s2/s2projections.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ s2/s2projections.cc: In member function 'R2Point S2::Projection::WrapDestination(const R2Point&, const R2Point&) const': s2/s2projections.cc:31:73: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | R2Point Projection::WrapDestination(const R2Point& a, const R2Point& b) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:60: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:60: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::wrap_distance() const': s2/s2projections.cc:75:48: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | R2Point PlateCarreeProjection::wrap_distance() const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:57: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:57: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::wrap_distance() const': s2/s2projections.cc:109:45: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | R2Point MercatorProjection::wrap_distance() const { | ^~~~~ In file included from ../src/s2/r2.h:22, from ../src/s2/s2projections.h:27: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc:67:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:67:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ^ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::wrap_distance() const': s2/s2projections.cc:75:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 75 | R2Point PlateCarreeProjection::wrap_distance() const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc:98:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:98:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ^ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::wrap_distance() const': s2/s2projections.cc:109:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 109 | R2Point MercatorProjection::wrap_distance() const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::PlateCarreeProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:70:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | S2LatLng PlateCarreeProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual R2Point S2::PlateCarreeProjection::Project(const S2Point&) const': s2/s2projections.cc:57:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | R2Point PlateCarreeProjection::Project(const S2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::PlateCarreeProjection::Unproject(const R2Point&) const': s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 66 | S2Point PlateCarreeProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~~~~ s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:66:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:67:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:67:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 67 | return ToLatLng(p).ToPoint(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2projections.cc: In member function 'virtual R2Point S2::MercatorProjection::FromLatLng(const S2LatLng&) const': s2/s2projections.cc:89:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 89 | R2Point MercatorProjection::FromLatLng(const S2LatLng& ll) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2LatLng S2::MercatorProjection::ToLatLng(const R2Point&) const': s2/s2projections.cc:101:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 101 | S2LatLng MercatorProjection::ToLatLng(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc: In member function 'virtual S2Point S2::MercatorProjection::Unproject(const R2Point&) const': s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 97 | S2Point MercatorProjection::Unproject(const R2Point& p) const { | ^~~~~~~~~~~~~~~~~~ s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:97:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2projections.cc:98:18: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~^~~ s2/s2projections.cc:98:29: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | return ToLatLng(p).ToPoint(); | ~~~~~~~~~~~~~~~~~~~^~ s2/s2projections.cc: In member function 'R2Point S2::Projection::WrapDestination(const R2Point&, const R2Point&) const': s2/s2projections.cc:31:9: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 31 | R2Point Projection::WrapDestination(const R2Point& a, const R2Point& b) const { | ^~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2r2rect.cc -o s2/s2r2rect.o In file included from ../src/s2/s2r2rect.h:26, from s2/s2r2rect.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2r2rect.h:28: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2r2rect.h:29: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2r2rect.h: In member function 'R2Point S2R2Rect::lo() const': ../src/s2/s2r2rect.h:240:31: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 240 | inline R2Point S2R2Rect::lo() const { return rect_.lo(); } | ^~~~~ In file included from ../src/s2/s1chord_angle.h:31, from ../src/s2/s2cap.h:31, from s2/s2r2rect.cc:23: ../src/s2/s2pointutil.h: In function 'S2Point S2::Origin()': ../src/s2/s2pointutil.h:98:23: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 98 | inline S2Point Origin() { | ^ In file included from s2/s2r2rect.cc:24: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2latlng_rect.h:31, from s2/s2r2rect.cc:27: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2r2rect.h: In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)': ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)': s2/s2r2rect.cc:38:39: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | return FromCenterSize(id.GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~^~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2r2rect.cc: In member function 'virtual S2Cap S2R2Rect::GetCapBound() const': s2/s2r2rect.cc:57:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~~~~~~~~~~~~ s2/s2r2rect.cc:57:51: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~ s2/s2r2rect.cc:57:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~~~~~~~~~~~~ s2/s2r2rect.cc:59:37: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | cap.AddPoint(ToS2Point(GetVertex(k))); | ~~~~~~~~~^~~ s2/s2r2rect.cc:59:27: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 59 | cap.AddPoint(ToS2Point(GetVertex(k))); | ~~~~~~~~~^~~~~~~~~~~~~~ ../src/s2/s2r2rect.h: In member function 'R2Point S2R2Rect::GetCenter() const': ../src/s2/s2r2rect.h:251:16: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 251 | inline R2Point S2R2Rect::GetCenter() const { return rect_.GetCenter(); } | ^~~~~~~~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:13: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ^~~~ s2/s2r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2R2Rect&)': s2/s2r2rect.cc:87:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ ../src/s2/util/math/vector.h: In member function 'int Vector3::LargestAbsComponent() const [with T = double]': ../src/s2/util/math/vector.h:505:23: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | Vector3 temp = Abs(); | ~~~^~ s2/s2r2rect.cc: In function 'std::ostream& operator<<(std::ostream&, const S2R2Rect&)': s2/s2r2rect.cc:87:29: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 87 | return os << "[Lo" << r.lo() << ", Hi" << r.hi() << "]"; | ~~~~^~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:46:25: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 46 | return S2::FaceUVtoXYZ(0, S2::STtoUV(p.x()), S2::STtoUV(p.y())).Normalize(); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s2/s2r2rect.cc: In member function 'virtual S2Cap S2R2Rect::GetCapBound() const': s2/s2r2rect.cc:57:51: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 57 | S2Cap cap = S2Cap::FromPoint(ToS2Point(GetCenter())); | ~~~~~~~~~^~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCell(const S2Cell&)': s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 30 | S2R2Rect S2R2Rect::FromCell(const S2Cell& cell) { | ^~~~~~~~ s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:30:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:33:46: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 33 | return FromCenterSize(cell.id().GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~~~~~~~~^~ In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)', inlined from 'static S2R2Rect S2R2Rect::FromCell(const S2Cell&)' at s2/s2r2rect.cc:33:69: ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)': s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 36 | S2R2Rect S2R2Rect::FromCellId(S2CellId id) { | ^~~~~~~~ s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:36:10: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 s2/s2r2rect.cc:38:39: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 38 | return FromCenterSize(id.GetCenterST(), R2Point(size, size)); | ~~~~~~~~~~~~~~^~ In static member function 'static S2R2Rect S2R2Rect::FromCenterSize(const R2Point&, const R2Point&)', inlined from 'static S2R2Rect S2R2Rect::FromCellId(S2CellId)' at s2/s2r2rect.cc:38:62: ../src/s2/s2r2rect.h:227:41: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 227 | return S2R2Rect(R2Rect::FromCenterSize(center, size)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ s2/s2r2rect.cc: In static member function 'static S2Point S2R2Rect::ToS2Point(const R2Point&)': s2/s2r2rect.cc:45:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 45 | S2Point S2R2Rect::ToS2Point(const R2Point& p) { | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_coverer.cc -o s2/s2region_coverer.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2region_coverer.h:31, from s2/s2region_coverer.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s1chord_angle.h:29, from ../src/s2/s2cell.h:28: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_intersection.cc -o s2/s2region_intersection.o In file included from ../src/s2/s2region_intersection.h:27, from s2/s2region_intersection.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2region_intersection.cc:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h:407:41: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:21: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^~~~~~~ ../src/s2/s2latlng_rect.h: In static member function 'static S2LatLngRect S2LatLngRect::Full()': ../src/s2/s2latlng_rect.h:407:30: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 407 | return S2LatLngRect(FullLat(), FullLng()); | ~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_term_indexer.cc -o s2/s2region_term_indexer.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2region_term_indexer.h:105, from s2/s2region_term_indexer.cc:75: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2region_coverer.h:31, from ../src/s2/s2region_term_indexer.h:109: ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region_union.cc -o s2/s2region_union.o In file included from ../src/s2/s2region_union.h:28, from s2/s2region_union.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2latlng_rect.h:29, from s2/s2region_union.cc:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/s2latlng_rect.h:31: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2latlng_rect.h:33: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2region.cc -o s2/s2region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2region.h:24, from s2/s2region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index_buffered_region.cc -o s2/s2shape_index_buffered_region.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_index_buffered_region.h:23, from s2/s2shape_index_buffered_region.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell.h:27, from ../src/s2/s2shape_index_buffered_region.h:26: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/s2cell.h:29: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ ../src/s2/s2cell.h: In member function 'R2Rect S2Cell::GetBoundUV() const': ../src/s2/s2cell.h:216:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 216 | R2Rect GetBoundUV() const { return uv_; } | ^ In file included from ../src/s2/s2distance_target.h:27, from ../src/s2/s2closest_edge_query_base.h:42, from ../src/s2/s2closest_edge_query.h:34, from ../src/s2/s2shape_index_buffered_region.h:29: ../src/s2/s2shape_index.h: In member function 'S2Point S2ShapeIndex::Iterator::center() const': ../src/s2/s2shape_index.h:416:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 416 | S2Point center() const { return id().ToPoint(); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_distances.h:31, from ../src/s2/s2closest_edge_query.h:35: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2shape_index_region.h:32, from s2/s2shape_index_buffered_region.cc:33: ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::MayIntersect(const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:344:43: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 344 | if (Contains(clipped, target.GetCenter())) return true; | ~~~~~~~~~~~~~~~~^~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:16: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ^~~~~ ../src/s2/s2cell.h: In member function 'S2Point S2Cell::GetCenter() const': ../src/s2/s2cell.h:193:11: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 193 | S2Point GetCenter() const { return GetCenterRaw().Normalize(); } | ^~~~~~~~~ ../src/s2/s2shape_index_region.h: In member function 'bool S2ShapeIndexRegion::AnyEdgeIntersects(const S2ClippedShape&, const S2Cell&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2shape_index_region.h:422:52: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 422 | const R2Rect bound = target.GetBoundUV().Expanded(kMaxError); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ../src/s2/s2contains_point_query.h: In member function 'bool S2ContainsPointQuery::ShapeContains(S2CellId, const S2ClippedShape&, const S2Point&) const [with IndexType = S2ShapeIndex]': ../src/s2/s2contains_point_query.h:323:49: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 323 | S2CopyingEdgeCrosser crosser(cell_id.ToPoint(), p); | ~~~~~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index_measures.cc -o s2/s2shape_index_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_index_measures.h:25, from s2/s2shape_index_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shape_index_measures.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2shape_index_measures.cc: In function 'S2Point S2::GetCentroid(const S2ShapeIndex&)': s2/s2shape_index_measures.cc:86:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 86 | S2Point GetCentroid(const S2ShapeIndex& index) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_index.cc -o s2/s2shape_index.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from s2/s2shape_index.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2cell_id.h:41: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_measures.cc -o s2/s2shape_measures.o In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2shape_measures.h:27, from s2/s2shape_measures.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2edge_crossings.h:39, from ../src/s2/s2loop_measures.h:34, from s2/s2shape_measures.cc:25: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:42: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ s2/s2shape_measures.cc: In function 'S2Point S2::GetCentroid(const S2Shape&)': s2/s2shape_measures.cc:116:41: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 116 | S2Point GetCentroid(const S2Shape& shape) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2shape_measures.cc:116:9: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 116 | S2Point GetCentroid(const S2Shape& shape) { | ^~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shape_nesting_query.cc -o s2/s2shape_nesting_query.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shape_nesting_query.h:26, from s2/s2shape_nesting_query.cc:17: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shape_nesting_query.h:27: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ s2/s2shape_nesting_query.cc: In function 'int ClosestOfNPoints(const S2Point&, const S2Shape&, int, int)': s2/s2shape_nesting_query.cc:54:28: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | double dist2 = (target - point).Norm2(); | ~~~~~~~~^~~~~~~~ ../src/s2/s2point.h: In member function 'S2Point S2Point::operator-(const S2Point&) const': ../src/s2/s2point.h:129:69: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 129 | S2Point operator-(const S2Point& b) const { return Base::operator-(b); } | ~~~~~~~~~~~~~~~^~~ s2/s2shape_nesting_query.cc: In function 'int ClosestOfNPoints(const S2Point&, const S2Shape&, int, int)': s2/s2shape_nesting_query.cc:54:30: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | double dist2 = (target - point).Norm2(); | ^~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_build_polygon_boundaries.cc -o s2/s2shapeutil_build_polygon_boundaries.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_build_polygon_boundaries.h:24: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from ../src/s2/s2contains_point_query.h:26, from s2/s2shapeutil_build_polygon_boundaries.cc:26: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2shapeutil_build_polygon_boundaries.cc: In function 'void s2shapeutil::BuildPolygonBoundaries(const std::vector >&, std::vector >*)': s2/s2shapeutil_build_polygon_boundaries.cc:70:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | !s2shapeutil::ContainsBruteForce(*loop, S2::Origin())) { | ~~~~~~~~~~^~ ../src/s2/s2point.h: In member function 'S2Point S2Point::Normalize() const': ../src/s2/s2point.h:157:53: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 157 | S2Point Normalize() const { return Base::Normalize(); } | ~~~~~~~~~~~~~~~^~ s2/s2shapeutil_build_polygon_boundaries.cc: In function 'void s2shapeutil::BuildPolygonBoundaries(const std::vector >&, std::vector >*)': s2/s2shapeutil_build_polygon_boundaries.cc:70:61: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | !s2shapeutil::ContainsBruteForce(*loop, S2::Origin())) { | ~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_coding.cc -o s2/s2shapeutil_coding.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_coding.h:45, from s2/s2shapeutil_coding.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_coding.h:46: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36, from ../src/s2/s2lax_polygon_shape.h:36, from s2/s2shapeutil_coding.cc:28: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_contains_brute_force.cc -o s2/s2shapeutil_contains_brute_force.o In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_contains_brute_force.h:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2shapeutil_contains_brute_force.cc:20: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_conversion.cc -o s2/s2shapeutil_conversion.o In file included from ../src/s2/s2shapeutil_conversion.h:27, from s2/s2shapeutil_conversion.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2polygon.h:34, from ../src/s2/s2shapeutil_conversion.h:28: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kFull()': ../src/s2/s2loop.h:698:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 698 | return std::vector(1, kFullVertex()); | ~~~~~~~~~~~^~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_edge_iterator.cc -o s2/s2shapeutil_edge_iterator.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_edge_iterator.h:22, from s2/s2shapeutil_edge_iterator.cc:16: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_edge_iterator.h:23: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_get_reference_point.cc -o s2/s2shapeutil_get_reference_point.o In file included from ../src/s2/s2shape.h:26, from ../src/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2cell_id.h:42, from ../src/s2/s2shape_index.h:60, from ../src/s2/s2shapeutil_get_reference_point.h:22: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s2cell_id.h:45: ../src/s2/s2coords.h: In function 'S2Point S2::FaceUVtoXYZ(int, double, double)': ../src/s2/s2coords.h:356:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 356 | inline S2Point FaceUVtoXYZ(int face, double u, double v) { | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2shapeutil_visit_crossing_edge_pairs.cc -o s2/s2shapeutil_visit_crossing_edge_pairs.o In file included from ../src/s2/r2rect.h:26, from ../src/s2/s2crossing_edge_query.h:30, from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:23, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/s2padded_cell.h:23, from ../src/s2/s2crossing_edge_query.h:31: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2edge_crosser.h:23, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:29: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/r2.h:22, from ../src/s2/s2crossing_edge_query.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::operator-(const BasicVector::D&)::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:142:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::operator-(const BasicVector::D&)' 142 | return Generate([](const T& x) { return -x; }, a); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2point.h:134:41: required from here 134 | return -static_cast(pnt); | ^ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2text_format.cc -o s2/s2text_format.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2text_format.h:34, from s2/s2text_format.cc:16: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2text_format.h:38: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2latlng_rect.h:31, from ../src/s2/s2text_format.h:39: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ ../src/s2/s2latlng_rect.h: In member function 'S2LatLng S2LatLngRect::lo() const': ../src/s2/s2latlng_rect.h:115:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 115 | S2LatLng lo() const { return S2LatLng(lat_lo(), lng_lo()); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2lax_polygon_shape.h:31, from ../src/s2/s2text_format.h:40: ../src/s2/encoded_s2point_vector.h: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': ../src/s2/encoded_s2point_vector.h:133:56: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 133 | inline S2Point EncodedS2PointVector::operator[](int i) const { | ^~~~~ In file included from ../src/s2/s2edge_crossings.h:48, from ../src/s2/s2builder.h:40, from ../src/s2/s2boolean_operation.h:26, from ../src/s2/s2polygon.h:36, from ../src/s2/s2lax_polygon_shape.h:36: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:41: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParseLatLngs(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:81:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 81 | latlngs->push_back(S2LatLng::FromDegrees(lat, lng)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParsePoints(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:96:39: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 96 | vertices->push_back(latlng.ToPoint()); | ~~~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:7: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2latlng_rect.h:399:34: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:21: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^~~~~ ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:19: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^~~~~~~~~~ In file included from ../src/s2/s2polygon.h:43: ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'std::string s2textformat::ToString(const S2LatLngRect&)': s2/s2text_format.cc:357:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | AppendVertex(rect.lo(), &out); | ~~~~~~~^~ In file included from s2/s2text_format.cc:42: ../src/s2/s2point_vector_shape.h: In member function 'virtual S2Shape::Edge EncodedS2PointVectorShape::edge(int) const': ../src/s2/s2point_vector_shape.h:137:55: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 137 | Edge edge(int e) const final { return Edge(points_[e], points_[e]); } | ~~~~~~~~~^ ../src/s2/s2latlng_rect.h: In constructor 'S2LatLngRect::S2LatLngRect()': ../src/s2/s2latlng_rect.h:399:56: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ ../src/s2/s2latlng_rect.h:399:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 399 | : lat_(R1Interval::Empty()), lng_(S1Interval::Empty()) { | ~~~~~~~~~~~~~~~~~^~ s2/s2text_format.cc: In member function 'S2Point s2coding::EncodedS2PointVector::operator[](int) const': s2/s2text_format.cc:505:1: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 505 | } // namespace s2textformat | ^ s2/s2text_format.cc: In function 'std::string s2textformat::ToString(const S2LatLngRect&)': s2/s2text_format.cc:357:23: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 357 | AppendVertex(rect.lo(), &out); | ~~~~~~~^~ ../src/s2/s2loop.h: In static member function 'static std::vector S2Loop::kEmpty()': ../src/s2/s2loop.h:694:46: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 694 | return std::vector(1, kEmptyVertex()); | ~~~~~~~~~~~~^~ s2/s2text_format.cc: In function 'bool s2textformat::ParseLatLngs(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:81:45: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 81 | latlngs->push_back(S2LatLng::FromDegrees(lat, lng)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ s2/s2text_format.cc: In function 'bool s2textformat::ParsePoints(absl::debian7::string_view, std::vector*)': s2/s2text_format.cc:92:6: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 92 | bool ParsePoints(string_view str, vector* vertices) { | ^~~~~~~~~~~ s2/s2text_format.cc: In function 'S2LatLng s2textformat::MakeLatLngOrDie(absl::debian7::string_view)': s2/s2text_format.cc:121:10: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 121 | S2LatLng MakeLatLngOrDie(string_view str) { | ^~~~~~~~~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2wedge_relations.cc -o s2/s2wedge_relations.o In file included from ../src/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2point.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/s2winding_operation.cc -o s2/s2winding_operation.o In file included from ../src/s2/mutable_s2shape_index.h:39, from ../src/s2/s2builder.h:36, from ../src/s2/s2winding_operation.h:23, from s2/s2winding_operation.cc:19: ../src/s2/r1interval.h: In static member function 'static R1Interval R1Interval::Empty()': ../src/s2/r1interval.h:54:29: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 54 | static R1Interval Empty() { return R1Interval(); } | ^ In file included from ../src/s2/mutable_s2shape_index.h:40: ../src/s2/r2rect.h: In member function 'R2Point R2Rect::lo() const': ../src/s2/r2rect.h:68:22: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 68 | R2Point lo() const { return R2Point(x().lo(), y().lo()); } | ^ ../src/s2/r2rect.h: In static member function 'static R2Rect R2Rect::Empty()': ../src/s2/r2rect.h:184:29: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 184 | inline R2Rect R2Rect::Empty() { | ^ ../src/s2/r2rect.h: In member function 'R2Point R2Rect::GetVertex(int) const': ../src/s2/r2rect.h:206:41: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 206 | inline R2Point R2Rect::GetVertex(int k) const { | ^~~~~ ../src/s2/r2rect.h: In member function 'R2Rect R2Rect::Expanded(double) const': ../src/s2/r2rect.h:233:47: note: parameter passing for argument of type 'R2Rect' when C++17 is enabled changed to match C++14 in GCC 10.1 233 | inline R2Rect R2Rect::Expanded(double margin) const { | ^~~~~ In file included from ../src/s2/s1angle.h:28, from ../src/s2/s2cell_id.h:43, from ../src/s2/mutable_s2shape_index.h:41: ../src/s2/s2point.h: In member function 'S2Point S2Point::operator+(const S2Point&) const': ../src/s2/s2point.h:128:45: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ^ In file included from ../src/s2/s2edge_crossings.h:42, from ../src/s2/s2builder.h:40: ../src/s2/s1interval.h: In static member function 'static S1Interval S1Interval::Empty()': ../src/s2/s1interval.h:238:37: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 238 | inline S1Interval S1Interval::Empty() { | ^ In file included from ../src/s2/s2edge_crossings.h:43: ../src/s2/s2latlng.h: In static member function 'static constexpr S2LatLng S2LatLng::FromRadians(double, double)': ../src/s2/s2latlng.h:198:67: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 198 | double lng_radians) { | ^ ../src/s2/s2latlng.h: In member function 'S2LatLng::operator S2Point() const': ../src/s2/s2latlng.h:256:37: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 256 | inline S2LatLng::operator S2Point() const { | ^~~~~ ../src/s2/s2latlng.h: In function 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)': ../src/s2/s2latlng.h:260:63: note: parameter passing for argument of type 'S2LatLng' when C++17 is enabled changed to match C++14 in GCC 10.1 260 | inline S2LatLng operator+(const S2LatLng& a, const S2LatLng& b) { | ^ In file included from ../src/s2/s2edge_crossings.h:44: ../src/s2/s2latlng_rect.h: In static member function 'static R1Interval S2LatLngRect::FullLat()': ../src/s2/s2latlng_rect.h:126:31: note: parameter passing for argument of type 'R1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 126 | static R1Interval FullLat() { return R1Interval(-M_PI_2, M_PI_2); } | ^ ../src/s2/s2latlng_rect.h: In static member function 'static S1Interval S2LatLngRect::FullLng()': ../src/s2/s2latlng_rect.h:127:31: note: parameter passing for argument of type 'S1Interval' when C++17 is enabled changed to match C++14 in GCC 10.1 127 | static S1Interval FullLng() { return S1Interval::Full(); } | ^ In file included from ../src/s2/s2edge_crossings.h:48: ../src/s2/s2predicates_internal.h: In function 's2pred::Vector3_ld s2pred::ToLD(const S2Point&)': ../src/s2/s2predicates_internal.h:63:47: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 63 | inline static Vector3_ld ToLD(const S2Point& x) { | ^ In file included from ../src/s2/s2builder.h:41: ../src/s2/s2edge_distances.h: In function 'S2Point S2::GetPointOnRay(const S2Point&, const S2Point&, S1ChordAngle)': ../src/s2/s2edge_distances.h:258:44: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 258 | S1ChordAngle r) { | ^ In file included from ../src/s2/r1interval.h:29: ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2point.h:128:69: required from here 128 | S2Point operator+(const S2Point& b) const { return Base::operator+(b); } | ~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::operator+(const D&) const [with VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/s2latlng.h:261:33: required from here 261 | return S2LatLng(a.coords_ + b.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:136:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 136 | D operator+(const D& b) const { return D(AsD()) += b; } | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'Vector3 Vector3::CrossProd(const Vector3&) const [with T = double]': ../src/s2/s2predicates.h:396:3: required from here 396 | S2_DCHECK_EQ(a_cross_b, a.CrossProd(b)); | ~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:470:11: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 470 | Vector3 CrossProd(const Vector3& vb) const { | ^~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]': ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:147:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 147 | static D Cast(const VecTemplate& b) { | ^~~~ ../src/s2/util/math/vector.h: In instantiation of 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]': ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:342:9: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 342 | VT2 operator*(const K& k, const BasicVector& a) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]': ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:266:5: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 266 | D MulScalarInternal(const K& k) const { | ^~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const double}; VecTemplate = Vector3; T = long double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::Cast(const Vector3&)::; As = {const Vector3&}; VecTemplate = Vector3; T = long double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:148:20: required from 'static util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::Cast(const VecTemplate&) [with T2 = double; VecTemplate = Vector3; T = long double; long unsigned int N = 3; D = Vector3]' 148 | return Generate([](const T2& x) { return static_cast(x); }, b); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/s2predicates_internal.h:64:26: required from here 64 | return Vector3_ld::Cast(x); | ~~~~~~~~~~~~~~~~^~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]': ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:78:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 78 | static R Generate(F f, As&&... as) { | ^~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector2; long unsigned int ...Is = {0, 1}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector2; T = double; long unsigned int N = 2; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector2; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector2&}; VecTemplate = Vector2; T = double; long unsigned int N = 2]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector2; T = double; long unsigned int N = 2; D = Vector2]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector2; T2 = double; long unsigned int N2 = 2]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2latlng.h:269:25: required from here 269 | return S2LatLng(m * a.coords_); | ^~~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector2' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ ../src/s2/util/math/vector.h: In instantiation of 'static R util::math::internal_vector::BasicVector::GenerateEach(std::index_sequence, F, As* ...) [with R = Vector3; long unsigned int ...Is = {0, 1, 2}; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const double}; VecTemplate = Vector3; T = double; long unsigned int N = 3; std::index_sequence = std::integer_sequence]': ../src/s2/util/math/vector.h:79:27: required from 'static R util::math::internal_vector::BasicVector::Generate(F, As&& ...) [with R = Vector3; F = util::math::internal_vector::BasicVector::MulScalarInternal(const double&) const::; As = {const Vector3&}; VecTemplate = Vector3; T = double; long unsigned int N = 3]' 79 | return GenerateEach(IdxSeqN(), std::move(f), | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 80 | std::forward(as).Data()...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:267:20: required from 'util::math::internal_vector::BasicVector::D util::math::internal_vector::BasicVector::MulScalarInternal(const K&) const [with K = double; VecTemplate = Vector3; T = double; long unsigned int N = 3; D = Vector3]' 267 | return Generate([k](const T& x) { return k * x; }, AsD()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/s2/util/math/vector.h:343:29: required from 'VT2 util::math::internal_vector::operator*(const K&, const BasicVector&) [with K = double; VT2 = Vector3; T2 = double; long unsigned int N2 = 3]' 343 | return a.MulScalarInternal(k); | ~~~~~~~~~~~~~~~~~~~^~~ ../src/s2/s2edge_distances.h:272:20: required from here 272 | return (cos(r) * origin + sin(r) * dir).Normalize(); | ^~~~~~ ../src/s2/util/math/vector.h:70:12: note: parameter passing for argument of type 'Vector3' when C++17 is enabled changed to match C++14 in GCC 10.1 70 | static R GenerateEach(absl::index_sequence, F f, As*... as) { | ^~~~~~~~~~~~ In file included from ../src/s2/mutable_s2shape_index.h:45: ../src/s2/s2shape.h: In static member function 'static S2Shape::ReferencePoint S2Shape::ReferencePoint::Contained(bool)': ../src/s2/s2shape.h:131:53: note: parameter passing for argument of type 'S2Point' when C++17 is enabled changed to match C++14 in GCC 10.1 131 | return ReferencePoint(S2::Origin(), _contained); | ^ g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/bits/bit-interleave.cc -o s2/util/bits/bit-interleave.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/coding/coder.cc -o s2/util/coding/coder.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/coding/varint.cc -o s2/util/coding/varint.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/math/exactfloat/exactfloat.cc -o s2/util/math/exactfloat/exactfloat.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/math/mathutil.cc -o s2/util/math/mathutil.o g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/usr/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/wk/include' -pthread -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -c s2/util/units/length-units.cc -o s2/util/units/length-units.o ar rcs s2/libs2static.a s2/encoded_s2cell_id_vector.o s2/encoded_s2point_vector.o s2/encoded_s2shape_index.o s2/encoded_string_vector.o s2/id_set_lexicon.o s2/mutable_s2shape_index.o s2/r2rect.o s2/s1angle.o s2/s1chord_angle.o s2/s1interval.o s2/s2boolean_operation.o s2/s2buffer_operation.o s2/s2builder_graph.o s2/s2builder.o s2/s2builderutil_closed_set_normalizer.o s2/s2builderutil_find_polygon_degeneracies.o s2/s2builderutil_get_snapped_winding_delta.o s2/s2builderutil_lax_polygon_layer.o s2/s2builderutil_lax_polyline_layer.o s2/s2builderutil_s2point_vector_layer.o s2/s2builderutil_s2polygon_layer.o s2/s2builderutil_s2polyline_layer.o s2/s2builderutil_s2polyline_vector_layer.o s2/s2builderutil_snap_functions.o s2/s2cap.o s2/s2cell_id.o s2/s2cell_index.o s2/s2cell_union.o s2/s2cell.o s2/s2centroids.o s2/s2closest_cell_query.o s2/s2closest_edge_query.o s2/s2closest_point_query.o s2/s2contains_vertex_query.o s2/s2convex_hull_query.o s2/s2coords.o s2/s2crossing_edge_query.o s2/s2debug.o s2/s2earth.o s2/s2edge_clipping.o s2/s2edge_crosser.o s2/s2edge_crossings.o s2/s2edge_distances.o s2/s2edge_tessellator.o s2/s2error.o s2/s2furthest_edge_query.o s2/s2hausdorff_distance_query.o s2/s2latlng_rect_bounder.o s2/s2latlng_rect.o s2/s2latlng.o s2/s2lax_loop_shape.o s2/s2lax_polygon_shape.o s2/s2lax_polyline_shape.o s2/s2loop_measures.o s2/s2loop.o s2/s2max_distance_targets.o s2/s2measures.o s2/s2memory_tracker.o s2/s2metrics.o s2/s2min_distance_targets.o s2/s2padded_cell.o s2/s2point_compression.o s2/s2point_region.o s2/s2pointutil.o s2/s2polygon.o s2/s2polyline_alignment.o s2/s2polyline_measures.o s2/s2polyline_simplifier.o s2/s2polyline.o s2/s2predicates.o s2/s2projections.o s2/s2r2rect.o s2/s2region_coverer.o s2/s2region_intersection.o s2/s2region_term_indexer.o s2/s2region_union.o s2/s2region.o s2/s2shape_index_buffered_region.o s2/s2shape_index_measures.o s2/s2shape_index.o s2/s2shape_measures.o s2/s2shape_nesting_query.o s2/s2shapeutil_build_polygon_boundaries.o s2/s2shapeutil_coding.o s2/s2shapeutil_contains_brute_force.o s2/s2shapeutil_conversion.o s2/s2shapeutil_edge_iterator.o s2/s2shapeutil_get_reference_point.o s2/s2shapeutil_visit_crossing_edge_pairs.o s2/s2text_format.o s2/s2wedge_relations.o s2/s2winding_operation.o s2/util/bits/bit-interleave.o s2/util/coding/coder.o s2/util/coding/varint.o s2/util/math/exactfloat/exactfloat.o s2/util/math/mathutil.o s2/util/units/length-units.o g++ -std=gnu++17 -shared -L/usr/lib/R/lib -Wl,-z,relro -o s2.so cpp-compat.o s2-accessors.o s2-bounds.o s2-cell.o s2-cell-union.o s2-constructors-formatters.o s2-predicates.o s2-transformers.o init.o RcppExports.o s2-geography.o s2-lnglat.o s2-matrix.o wk-impl.o s2geography/accessors-geog.o s2geography/accessors.o s2geography/build.o s2geography/coverings.o s2geography/distance.o s2geography/geography.o s2geography/linear-referencing.o s2geography/predicates.o -Ls2 -ls2static -latomic -labsl_flags_internal -labsl_flags_marshalling -labsl_log_severity -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_raw_logging_internal -labsl_raw_logging_internal -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_throw_delegate -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_check_op -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_conditions -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_severity -labsl_log_severity -labsl_log_internal_proto -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_nullguard -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_severity -labsl_log_internal_log_sink_set -labsl_log_internal_globals -labsl_log_severity -labsl_log_globals -labsl_hash -labsl_city -labsl_bad_variant_access -labsl_low_level_hash -labsl_log_severity -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_severity -labsl_log_sink -labsl_log_entry -labsl_log_severity -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_stacktrace -labsl_strerror -labsl_str_format_internal -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -Wl,--push-state,--as-needed -latomic -Wl,--pop-state -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto -L/usr/lib/R/lib -lR /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_marshalling.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_reflection.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_private_handle_accessor.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_commandlineflag.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_commandlineflag_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_config.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_flags_program_name.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_logging_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_logging_internal.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_raw_hash_set.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_hashtablez_sampler.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_throw_delegate.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libabsl_log_severity.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. warning: found a total of 146 dynamically-linked objects incompatible with GCS requirements. make[1]: Leaving directory '/build/reproducible-path/r-cran-s2-1.1.9/src' make[1]: Entering directory '/build/reproducible-path/r-cran-s2-1.1.9/src' make[1]: Leaving directory '/build/reproducible-path/r-cran-s2-1.1.9/src' installing to /build/reproducible-path/r-cran-s2-1.1.9/debian/r-cran-s2/usr/lib/R/site-library/00LOCK-r-cran-s2-1.1.9/00new/s2/libs ** R ** data *** moving datasets to lazyload DB ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices *** copying figures ** building package indices rm: missing operand Try 'rm --help' for more information. ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (s2) W: Ignoring specified R dependency: R (>= 3.0.0) I: Using r-cran-bit64 for Recommends:bit64 I: Using r-cran-testthat for Recommends:testthat (>= 3.0.0) I: Using r-cran-vctrs for Recommends:vctrs I: Using r-cran-testthat for Suggests:testthat (>= 3.0.0) I: Using r-cran-rcpp for Imports:Rcpp I: Using r-cran-wk for Imports:wk (>= 0.6.0) I: Using r-cran-rcpp for LinkingTo:Rcpp I: Using r-cran-wk for LinkingTo:wk I: Use r-cran-s2 as Debian binary package for variables substitution dh_installdocs -O--buildsystem=R dh_installchangelogs -O--buildsystem=R dh_installsystemduser -O--buildsystem=R dh_perl -O--buildsystem=R dh_link -O--buildsystem=R dh_strip_nondeterminism -O--buildsystem=R dh_compress -O--buildsystem=R dh_fixperms -O--buildsystem=R dh_missing -O--buildsystem=R dh_dwz -a -O--buildsystem=R dh_strip -a -O--buildsystem=R dh_makeshlibs -a -O--buildsystem=R dh_shlibdeps -a -O--buildsystem=R dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dh_installdeb -O--buildsystem=R dh_gencontrol -O--buildsystem=R dh_md5sums -O--buildsystem=R dh_builddeb -O--buildsystem=R dpkg-deb: building package 'r-cran-s2' in '../r-cran-s2_1.1.9-1_arm64.deb'. dpkg-deb: building package 'r-cran-s2-dbgsym' in '../r-cran-s2-dbgsym_1.1.9-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../r-cran-s2_1.1.9-1_arm64.buildinfo dpkg-genchanges --build=binary -O../r-cran-s2_1.1.9-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2342308 and its subdirectories I: Current time: Sat Nov 1 19:32:50 +14 2025 I: pbuilder-time-stamp: 1761975170 + false + set +x Sat Nov 1 05:32:50 UTC 2025 I: Signing ./b2/r-cran-s2_1.1.9-1_arm64.buildinfo as r-cran-s2_1.1.9-1_arm64.buildinfo.asc Sat Nov 1 05:32:50 UTC 2025 I: Signed ./b2/r-cran-s2_1.1.9-1_arm64.buildinfo as ./b2/r-cran-s2_1.1.9-1_arm64.buildinfo.asc Sat Nov 1 05:32:50 UTC 2025 - build #2 for r-cran-s2/forky/arm64 on codethink04-arm64 done. Starting cleanup. All cleanup done. Sat Nov 1 05:32:50 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-Q8RRX2uu, removing. /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV: total 2272 drwxrwxr-x 2 jenkins jenkins 4096 Nov 1 05:24 b1 drwxrwxr-x 2 jenkins jenkins 4096 Nov 1 05:32 b2 -rw-rw-r-- 1 jenkins jenkins 1527 Oct 26 14:46 r-cran-s2_1.1.9-1.dsc -rw------- 1 jenkins jenkins 2306905 Nov 1 05:24 rbuildlog.mm5qCQt /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1: total 21852 -rw-r--r-- 1 jenkins jenkins 2303959 Nov 1 05:24 build.log -rw-r--r-- 1 jenkins jenkins 15331832 Nov 1 05:24 r-cran-s2-dbgsym_1.1.9-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 4336 Nov 1 05:24 r-cran-s2_1.1.9-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1527 Nov 1 05:24 r-cran-s2_1.1.9-1.dsc -rw-r--r-- 1 jenkins jenkins 10249 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.buildinfo -rw-rw-r-- 1 jenkins jenkins 11131 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1528 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 1687472 Nov 1 05:24 r-cran-s2_1.1.9-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 1619 Nov 1 05:24 r-cran-s2_1.1.9-1_source.changes -rw-r--r-- 1 jenkins jenkins 2968006 Nov 1 05:24 r-cran-s2_1.1.9.orig.tar.gz /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2: total 21820 -rw-rw-r-- 1 jenkins jenkins 2305984 Nov 1 05:32 build.log -rw-r--r-- 1 jenkins jenkins 15331832 Nov 1 05:32 r-cran-s2-dbgsym_1.1.9-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 4336 Nov 1 05:32 r-cran-s2_1.1.9-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1527 Nov 1 05:32 r-cran-s2_1.1.9-1.dsc -rw-rw-r-- 1 jenkins jenkins 10257 Nov 1 05:32 r-cran-s2_1.1.9-1_arm64.buildinfo -rw-rw-r-- 1 jenkins jenkins 11139 Nov 1 05:32 r-cran-s2_1.1.9-1_arm64.buildinfo.asc -rw-rw-r-- 1 jenkins jenkins 1528 Nov 1 05:32 r-cran-s2_1.1.9-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 1687472 Nov 1 05:32 r-cran-s2_1.1.9-1_arm64.deb -rw-rw-r-- 1 jenkins jenkins 1619 Nov 1 05:32 r-cran-s2_1.1.9-1_source.changes -rw-r--r-- 1 jenkins jenkins 2968006 Nov 1 05:32 r-cran-s2_1.1.9.orig.tar.gz Sat Nov 1 05:32:51 UTC 2025 I: Deleting $TMPDIR on codethink04-arm64.debian.net. Sat Nov 1 05:32:52 UTC 2025 I: r-cran-s2_1.1.9-1_arm64.changes: Format: 1.8 Date: Sun, 26 Oct 2025 19:50:44 +0530 Source: r-cran-s2 Binary: r-cran-s2 r-cran-s2-dbgsym Architecture: arm64 Version: 1.1.9-1 Distribution: unstable Urgency: medium Maintainer: Debian R Packages Maintainers Changed-By: Nilesh Patra Description: r-cran-s2 - GNU R spherical geometry operators using the S2 geometry library Changes: r-cran-s2 (1.1.9-1) unstable; urgency=medium . * Team Upload. * New upstream version 1.1.9. re-diff patches. * Drop Redundant "Rules-Requires-Root: no" * Bump Standards-Version to 4.7.2 (no changes needed) * Drop myself from uploaders Checksums-Sha1: 80a1e46d69694361fbc363f5fd92d6297a02b33e 15331832 r-cran-s2-dbgsym_1.1.9-1_arm64.deb 8601a27ec60109d7ffa6d1ab0f8581a4aa8db5dd 10249 r-cran-s2_1.1.9-1_arm64.buildinfo f5345258222a9f3733e6242781b669c0c7f88ce6 1687472 r-cran-s2_1.1.9-1_arm64.deb Checksums-Sha256: b550ed596e139a930f41f4aabdc6790660f462f0dbe5536237ed405134113256 15331832 r-cran-s2-dbgsym_1.1.9-1_arm64.deb 7eb342bd0aa9e66a11546f78af8ef12a871ef8b331ed91920aacb5f547947fce 10249 r-cran-s2_1.1.9-1_arm64.buildinfo 20d84ba4b938815fe6d5a3e80f7f59a3e96a91587c317fd1aecc887381a83a85 1687472 r-cran-s2_1.1.9-1_arm64.deb Files: 1a1fad961d0493e42a336e428b844d5b 15331832 debug optional r-cran-s2-dbgsym_1.1.9-1_arm64.deb 93b039f52b1a7415d21bca1bc4c6946b 10249 gnu-r optional r-cran-s2_1.1.9-1_arm64.buildinfo d8405bc3e9721806ea9f2e9a8673f812 1687472 gnu-r optional r-cran-s2_1.1.9-1_arm64.deb removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/forky/arm64/r-cran-s2_1.1.7-2.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/forky/arm64/r-cran-s2_1.1.7-2.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/forky/arm64/r-cran-s2_1.1.7-2.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/forky/arm64/r-cran-s2_1.1.7-2.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/forky/arm64/r-cran-s2_1.1.7-2_arm64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/forky/arm64/r-cran-s2_1.1.7-2.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2025-11-01 05:24:14.106316984 +0000 +++ b2/build.log 2025-11-01 05:32:51.294883473 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Dec 3 23:39:04 -12 2026 -I: pbuilder-time-stamp: 1796384344 +I: Current time: Sat Nov 1 19:24:16 +14 2025 +I: pbuilder-time-stamp: 1761974656 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -26,53 +26,85 @@ dpkg-source: info: applying warn-on-32bit.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1781640/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 1 05:24 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 nocheck' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='7784f860eafa4d179845a517dd17033e' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1781640' - PS1='# ' - PS2='> ' + INVOCATION_ID=6f9210eae24941c9a2676adf8cb36c6f + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2342308 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_WbH1 --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1 --logfile b1/build.log r-cran-s2_1.1.9-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/pbuilderrc_k5vw --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2 --logfile b2/build.log r-cran-s2_1.1.9-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1781640/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -325,7 +357,7 @@ Get: 203 http://deb.debian.org/debian forky/main arm64 r-cran-pkgkitten all 0.2.4-1 [29.1 kB] Get: 204 http://deb.debian.org/debian forky/main arm64 r-cran-rcpp arm64 1.1.0-1 [2096 kB] Get: 205 http://deb.debian.org/debian forky/main arm64 r-cran-wk arm64 0.9.4-1 [1783 kB] -Fetched 113 MB in 1s (137 MB/s) +Fetched 113 MB in 1s (105 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19971 files and directories currently installed.) @@ -1001,8 +1033,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Dec 4 11:39:31 UTC 2026. -Universal Time is now: Fri Dec 4 11:39:31 UTC 2026. +Local time is now: Sat Nov 1 05:24:50 UTC 2025. +Universal Time is now: Sat Nov 1 05:24:50 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up zip (3.0-15) ... @@ -1198,7 +1230,11 @@ Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/r-cran-s2-1.1.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../r-cran-s2_1.1.9-1_source.changes +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/r-cran-s2-1.1.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../r-cran-s2_1.1.9-1_source.changes dpkg-buildpackage: info: source package r-cran-s2 dpkg-buildpackage: info: source version 1.1.9-1 dpkg-buildpackage: info: source distribution unstable @@ -1216,7 +1252,7 @@ dh_autoreconf -O--buildsystem=R dh_auto_configure -O--buildsystem=R dh_auto_build -O--buildsystem=R - dh_auto_test -O--buildsystem=R +dh: command-omitted: The call to "dh_auto_test -O--buildsystem=R" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=R dh_prep -O--buildsystem=R @@ -22978,8 +23014,8 @@ dh_gencontrol -O--buildsystem=R dh_md5sums -O--buildsystem=R dh_builddeb -O--buildsystem=R -dpkg-deb: building package 'r-cran-s2-dbgsym' in '../r-cran-s2-dbgsym_1.1.9-1_arm64.deb'. dpkg-deb: building package 'r-cran-s2' in '../r-cran-s2_1.1.9-1_arm64.deb'. +dpkg-deb: building package 'r-cran-s2-dbgsym' in '../r-cran-s2-dbgsym_1.1.9-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../r-cran-s2_1.1.9-1_arm64.buildinfo dpkg-genchanges --build=binary -O../r-cran-s2_1.1.9-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -22987,12 +23023,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2342308/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1781640 and its subdirectories -I: Current time: Thu Dec 3 23:47:12 -12 2026 -I: pbuilder-time-stamp: 1796384832 +I: removing directory /srv/workspace/pbuilder/2342308 and its subdirectories +I: Current time: Sat Nov 1 19:32:50 +14 2025 +I: pbuilder-time-stamp: 1761975170 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/forky/arm64/r-cran-s2_1.1.9-1.diff: 67.5% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/forky/arm64/r-cran-s2_1.1.9-1.diff.gz b2/build.log: 95.2% -- replaced with stdout Compressing the 1st log... b1/build.log: 95.3% -- replaced with stdout Sat Nov 1 05:32:53 UTC 2025 I: diffoscope 307 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_r-cran-s2_forky_arm64_1761975173 + touch /var/log/reproducible-builds/diffoscope_stamp_r-cran-s2_forky_arm64_1761975173 + RESULT=0 + systemd-run '--description=diffoscope on r-cran-s2/1.1.9-1 in forky/arm64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-arm64_6-125306 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV --run-session -c jenkins-reproducible-forky-diffoscope-4379dbfc-4c91-4cd8-a1ae-cca3dd548c42 -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/dbd-tmp-7qjrVnj ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/r-cran-s2_1.1.9-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/r-cran-s2_1.1.9-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/r-cran-s2_1.1.9-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1/r-cran-s2_1.1.9-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2/r-cran-s2_1.1.9-1_arm64.changes' + false + set +x Running as unit: rb-diffoscope-arm64_6-125306.service; invocation ID: a29cff70a13e4782bfc46a8e5b0468e6 # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/r-cran-s2_1.1.9-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/r-cran-s2_1.1.9-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/r-cran-s2_1.1.9-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b1/r-cran-s2_1.1.9-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.x0HmutOV/b2/r-cran-s2_1.1.9-1_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.003s) 0.003s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited, status=0/SUCCESS Service runtime: 208ms CPU time consumed: 169ms Memory peak: 17.8M (swap: 0B) ____ _ __ ___ _ __ __ _ _ __ ___|___ \ | '__|____ / __| '__/ _` | '_ \ _____/ __| __) | | | |_____| (__| | | (_| | | | |_____\__ \/ __/ |_| \___|_| \__,_|_| |_| |___/_____| Sat Nov 1 05:32:53 UTC 2025 I: diffoscope 307 found no differences in the changes files, and a .buildinfo file also exists. Sat Nov 1 05:32:53 UTC 2025 I: r-cran-s2 from forky built successfully and reproducibly on arm64. INSERT 0 1 INSERT 0 1 DELETE 1 [2025-11-01 05:32:54] INFO: Starting at 2025-11-01 05:32:54.051584 [2025-11-01 05:32:54] INFO: Generating the pages of 1 package(s) [2025-11-01 05:32:54] CRITICAL: buildinfo not detected at /var/lib/jenkins/userContent/reproducible/debian/buildinfo/forky/amd64/r-cran-s2_1.1.9-1_amd64.buildinfo [2025-11-01 05:32:54] ERROR: Either /var/lib/jenkins/userContent/reproducible/debian/logs/forky/amd64/r-cran-s2_1.1.9-1.build2.log.gz or /var/lib/jenkins/userContent/reproducible/debian/logdiffs/forky/amd64/r-cran-s2_1.1.9-1.diff.gz is missing [2025-11-01 05:32:54] CRITICAL: https://tests.reproducible-builds.org/debian/forky/arm64/r-cran-s2 didn't produce a buildlog, even though it has been built. [2025-11-01 05:32:54] INFO: Finished at 2025-11-01 05:32:54.318246, took: 0:00:00.266665 Sat Nov 1 05:32:54 UTC 2025 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/forky/arm64/r-cran-s2.html Sat Nov 1 05:32:54 UTC 2025 I: Removing signed r-cran-s2_1.1.9-1_arm64.buildinfo.asc files: removed './b1/r-cran-s2_1.1.9-1_arm64.buildinfo.asc' removed './b2/r-cran-s2_1.1.9-1_arm64.buildinfo.asc' 1761975174 arm64 forky r-cran-s2 Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/forky/arm64/r-cran-s2_1.1.9-1.rbuild.log: 95.2% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/forky/arm64/r-cran-s2_1.1.9-1.rbuild.log.gz [2025-11-01 05:32:54] INFO: Starting at 2025-11-01 05:32:54.698646 [2025-11-01 05:32:54] INFO: Generating the pages of 1 package(s) [2025-11-01 05:32:54] CRITICAL: buildinfo not detected at /var/lib/jenkins/userContent/reproducible/debian/buildinfo/forky/amd64/r-cran-s2_1.1.9-1_amd64.buildinfo [2025-11-01 05:32:54] ERROR: Either /var/lib/jenkins/userContent/reproducible/debian/logs/forky/amd64/r-cran-s2_1.1.9-1.build2.log.gz or /var/lib/jenkins/userContent/reproducible/debian/logdiffs/forky/amd64/r-cran-s2_1.1.9-1.diff.gz is missing [2025-11-01 05:32:54] INFO: Finished at 2025-11-01 05:32:54.949087, took: 0:00:00.250444 All cleanup done. Sat Nov 1 05:32:55 UTC 2025 - total duration: 0h 16m 54s. Sat Nov 1 05:32:55 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-r4YDjPAa, removing. Finished with result: success Main processes terminated with: code=exited, status=0/SUCCESS Service runtime: 16min 55.398s CPU time consumed: 4.189s Memory peak: 93.4M (swap: 0B)